整数有一个内置在SML整数功能?是否有一个内置的功能来检查数在SML
我的意思是一样的东西:
我必须从文件中读取一个数字,它显示为输出,如果它的整数,提高异常,如果数量不是整数。例如我要检查是否(Int.fromString())的输出为整数,并显示它,如果它是...(重复上述)
整数有一个内置在SML整数功能?是否有一个内置的功能来检查数在SML
我的意思是一样的东西:
我必须从文件中读取一个数字,它显示为输出,如果它的整数,提高异常,如果数量不是整数。例如我要检查是否(Int.fromString())的输出为整数,并显示它,如果它是...(重复上述)
类型系统将确保类型值的函数是给定匹配函数的类型签名。
也就是说,如果你有一个函数,它接受一个整数作为输入,如
fun double n = 2 * n
(* this function has type: int -> int *)
然后n
将永远是一个整数。除了一个整数外,不可能调用该函数;它会给出一个类型错误。
如果你有一个多态函数,如
fun pair n = (n, n)
(* this function has type: 'a -> 'a * 'a *)
那么你可以不知道什么类型的输入是在运行时。所有类型的输入将被视为相同。
你可以,但是,总是限制一个多态函数只工作在一个给定的类型,定义函数时使型明确:
fun pairInt (n : int) = (n, n)
(* this function has type: int -> int * int *)
可以通过对比看到pair
和pairInt
的区别你从打电话到pair 5
pairInt 5
,并pair "foo"
到pairInt "foo"
得到。
如果你有一个int option
,既然是这样,如果你尝试将string
转换为int
使用Int.fromString
,您可以通过多种方式提取int
。对于如何做到这一点,我把你提到的问题是“In smlnj how do you convert “string option” to “string”?”。
我必须从文件中读取一个数字,它显示为输出,如果它的整数,提高异常,如果数量不是整数。 例如我要检查是否输出(Int.fromString())是整数,并显示它,如果它是...(重复上述)。 – 700resu
@ user1710036:我建议你更新你的问题来反映这一点。我已经更新了我的答案。 –
你到底要什么?一个函数,如果该double没有小数部分,则返回true并返回true。请注意,这对于大型双打来说不会很准确。或者一个接受int并且总是返回true的函数?这没有多大意义。 – sepp2k