2017-03-06 10 views
0

これは私のコードです。SML、バインドされていない変数またはコンストラクタ

私は実際にSMLには本当に新しいです。そう、私は本当にそれを修正する方法を知らない。

aとbを使うのは悪いことです。

私はこの

a : int; 
b : int; 

ようab

を宣言しようとしましたが、まだ動作しません。

どうすればこの問題を解決できますか?

+0

コードをリンクするのではなく、投稿してください。 –

+0

テキストの画像を投稿したり、リンクしたりしないでください。私たちの先祖は私たちにコピーアンドペーストをしました。それを使用する方法を学びます。 – molbdnilo

答えて

1

これは単なる構文上の問題です。あなたのすべてのコードが見つからない場合は、calculateの句を区切るために|です。 5〜8行目の先頭に1つだけ追加してください。

1

アンドレアスが言及機能句の間に行方不明|のほかに、あなたはタイプcalctreeの値に+-*div演算子を適用することはできません。最初に関数を使用して、各abを整数に減らす必要があります。たとえば、

datatype ops = PLUS | MINUS | TIMES | DIV 
datatype calctree = LEAF of int | CALC of ops * calctree * calctree 

fun getOp PLUS = op + 
    | getOp MINUS = op - 
    | getOp TIMES = op * 
    | getOp DIV = op div 

fun calc (LEAF x) = x 
    | calc (CALC (oper, a, b)) = getOp oper (calc a, calc b) 
関連する問題