我是SML的新手,我使用的是SMLNJ方言 .
出于某种目的,我一直试图将类型转换为3到3.0(int到real) .
无法找到出路 . 我怎样才能做到这一点?如何在类型之间进行转换?
您可以使用函数 real (或 Real.fromInt )将 int 转换为 real .
real
Real.fromInt
int
有关详细信息,您可以在顶级环境here中查看可用功能列表,并查看Basis库here的概述 .
SML没有类型转换 . 类型之间的任何映射都需要通过函数来完成 .
real(3) 外观和行为很像C风格的类型转换,但 real: int -> real 只是标准基础中的另一个功能 . 另一方面, int(3.0) 不起作用,因为 int 函数不存在 .
real(3)
real: int -> real
int(3.0)
通常,当您需要在类型之间进行转换时,您只需挖掘库以获得适当的功能 . 在 real -> int 案例中,只需在top level environment中搜索"real -> int",就会出现 round , trunc , floor 和 ceil .
real -> int
round
trunc
floor
ceil
2 回答
您可以使用函数
real
(或Real.fromInt
)将int
转换为real
.有关详细信息,您可以在顶级环境here中查看可用功能列表,并查看Basis库here的概述 .
SML没有类型转换 . 类型之间的任何映射都需要通过函数来完成 .
real(3)
外观和行为很像C风格的类型转换,但real: int -> real
只是标准基础中的另一个功能 . 另一方面,int(3.0)
不起作用,因为int
函数不存在 .通常,当您需要在类型之间进行转换时,您只需挖掘库以获得适当的功能 . 在
real -> int
案例中,只需在top level environment中搜索"real -> int",就会出现round
,trunc
,floor
和ceil
.