我写了一个函数来处理异常,如果我们得到了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(或摩尔多瓦?),无论是教学还是娱乐活动:) –