我寫了一個函數來處理異常,如果我們得到了R2 = 0,I2 = 0,但是當我運行程序我得到這個錯誤: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
這裏是我的代碼:
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(或摩爾多瓦?),無論是教學還是娛樂活動:) –