标准SML库函数Int.toString使用~
而不是-
为负数前缀。是否有库函数可以使用-
而不是写
fun i2s i =
if i < 0 then "-" ^ Int.toString (~i) else Int.toString i
答案 0 :(得分:7)
简而言之,没有。
SML旨在将~
用于一元减号,以避免与-
(二进制减号)混淆。当每个操作符只有一个目的而且SML用户必须忍受它时,这是一个明智的决定。
虽然读取以~
开头的整数的字符串表示很奇怪,但是没有库函数可以将它转换为普通约定中的字符串。顺便说一句,你的功能是一个很好的方法。