我是SML的新手,正在使用SMLNJ方言。
出于某种目的,我一直试图将3到3.0(int到real)进行类型转换。
无法找到出路。我怎样才能做到这一点?如何在类型之间进行转换?
答案 0 :(得分:12)
答案 1 :(得分:5)
SML没有类型转换。类型之间的任何映射都需要通过函数来完成。
real(3)
看起来和行为很像C风格的类型转换,但real: int -> real
只是标准基础中的另一个功能。另一方面,int(3.0)
不起作用,因为int
函数不存在。
通常,当您需要在类型之间进行转换时,您只需挖掘库以获得适当的功能。在real -> int
案例中,仅在top level environment中搜索“real - > int”,round
,trunc
,floor
和{{1} }。