1
分数のための単純な抽象データ型を書いています。 コンストラクタを動作させることさえできません。SML構文ではほとんど失われてしまいます。SML:抽象データ型を作成する
signature fracs = sig
type fraction
exception zero_denominator
(* constructor *)
val // : int * int -> fraction
/*******************************************************************************************************************************************/
これは、私が実装しているコンストラクタを示す.sigファイルです。 これまで私が持っていたことがあります。私が受け取ったエラーは、私がint * int * - > intをやっているということです - > int int * int-> fractionが必要なとき。私はその言葉とすべてを知っているが、私はそれを実現させることはできない。関数シグネチャで
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*)
ああ:あなたが欲しい
は二つの整数から
fraction
値を作ることです!私は、ありがとう! – user1309382