を使用して、私は、例外を処理するための機能を書いたが、私はプログラムを実行すると、私はこのエラーを取得する:ここでML-エラーは例外
operatii.ml:12: error: Type error in function application.
Function: = : ''a * ''a -> bool
Argument: (r2, 0.0) : real * real
Reason: Can't unify ''a to real (Requires equality type)
Found near
if r2 = 0.0 then raise ImpartitorulEsteNul else
(
(r2 * r1 - i1 * i2)/(r2 * r2 + i1 * i2),
(... * ... + ... * ...)/(... * ... + ... * ...)
)
Exception- Fail "Static Errors" raised
は私のコードです:タイプreal
の値が通常の=
オペレータと一致するかどうかは確認できないため、
infix %%%%;
exception ImpartitorulEsteNul;
fun (r1,i1) %%%% (r2:real,i2:real)=if r2=0.0 andalso i2=0.0 then raise ImpartitorulEsteNul
else ((r2*r1-i1*i2)/(r2*r2+i1*i2),(r2*i1+i1*i2)/(r2*r2+i1*i2));
これは宿題であるかどうか尋ねることができますか?私はルーマニアでSMLを使っている人が好奇心です(モルドバですか?)、教えたり、レクリエーション活動に使ってください。 –