0
這是我的代碼,並且它不斷給我提供未綁定的錯誤消息。SML,未綁定變量或構造函數
我其實是真正的新SML。所以,我真的不知道如何解決它。
看起來好像使用a和b是壞事。
我想聲明a
和b
這樣
a : int;
b : int;
,但仍然無法正常工作。
我該如何解決這個問題?
這是我的代碼,並且它不斷給我提供未綁定的錯誤消息。SML,未綁定變量或構造函數
我其實是真正的新SML。所以,我真的不知道如何解決它。
看起來好像使用a和b是壞事。
我想聲明a
和b
這樣
a : int;
b : int;
,但仍然無法正常工作。
我該如何解決這個問題?
這只是一個語法問題。你所缺少的全部代碼是|
來區分calculate
的條款。只需在第5-8行的開頭添加一個。
除此之外安德烈亞斯提到,你不能+
,-
,*
和div
運算符適用於型calctree的價值功能的條款之間缺少|
秒。您需要首先使用您的函數將每個a
和b
減少爲整數。例如,
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)
請發佈您的代碼,而不是鏈接到它。 –
請不要發佈或鏈接到文字的圖片。我們的祖先給了我們複製和粘貼。瞭解如何使用它。 – molbdnilo