在SML中进行类型转换

时间:2012-01-24 01:29:15

标签: sml smlnj

我是SML的新手,正在使用SMLNJ方言。

出于某种目的,我一直试图将3到3.0(int到real)进行类型转换。

无法找到出路。我怎样才能做到这一点?如何在类型之间进行转换?

2 个答案:

答案 0 :(得分:12)

您可以使用real(或Real.fromInt)功能将int转换为real

有关详细信息,您可以在顶级环境here中查看可用功能列表,并查看基础库here的概述。

答案 1 :(得分:5)

SML没有类型转换。类型之间的任何映射都需要通过函数来​​完成。

real(3)看起来和行为很像C风格的类型转换,但real: int -> real只是标准基础中的另一个功能。另一方面,int(3.0)不起作用,因为int函数不存在。

通常,当您需要在类型之间进行转换时,您只需挖掘库以获得适当的功能。在real -> int案例中,仅在top level environment中搜索“real - > int”,roundtruncfloor和{{1} }。