如何将函数的参数从int转换为real ?

  • 本文关键字:转换 int real 参数 函数 sml
  • 更新时间 :
  • 英文 :


这是我用sml编写的用于计算调和和的代码。我基本上想计算实数对于整数,所有的值都是0(没有任何用处)。但是这个代码给出了错误。

试验1:

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也不起作用。请帮助。

我得到了我问题的答案。我们基本上需要使用

if y<x then 0.0
else f(x,y-1)+ 1.0/real(y);

,因为函数的类型是(int*int)->real

最新更新