【发布时间】:2021-02-15 22:25:09
【问题描述】:
这是我在 sml 中编写的用于计算谐波和的代码。我基本上想计算实数 至于整数,所有的都将评估为 0(没有任何用处)。但是这段代码出错了。
试验一:
if y<x then 0
else f(x,y-1)+ 1/y;
错误:
Elaboration failed: Type clash. Functions of type "real * real → real" cannot take an argument of type "int * int": Cannot merge "int" and "real".
试验 2:
if y<x then 0
else f(real(x),y-1)+ 1/y;
错误:
Elaboration failed: "real" is not a constructor.
即使将 0 替换为 0.0 也不起作用。请帮忙。
【问题讨论】:
标签: sml