1
我正在爲分數編寫一個簡單的抽象數據類型,並且我甚至無法讓構造函數工作,我只是在SML語法上迷失了方向。SML:創建抽象數據類型
signature fracs = sig
type fraction
exception zero_denominator
(* constructor *)
val // : int * int -> fraction
/*******************************************************************************************************************************************/
這是.sig文件,顯示我正在實施的構造函數。 這是我到目前爲止。我收到的錯誤是,我在做int * int * - > int 當我想int * int->分數。我知道它的說法和一切,但我無法做到這一點。
structure fracs :> fracs = struct
abstype fraction = frac of int * int
with
exception zero_denominator;
(**********************************)
(*constructor*)
infix 8 //;
fun num // den = if den = 0 then raise zero_denominator
else
num * den;
end;(*end ADT*)
end;(*end struct*)
哦!我明白了,非常感謝! – user1309382 2012-04-03 16:22:18