我最近开始学习榆树。当我看到Int
类型时,我认为它类似于Haskell' Int
,这是(我认为)机器整数。
但我很惊讶地看到了这一点:
> Result.withDefault 0 <| String.toInt "-"
NaN : Int
NaN
是一个浮点概念,似乎不应该适用于整数。看起来这可能是从JS漏出来的,这意味着Int
被表示为JS Number
。
是这样的吗?为什么要做出这个设计决定,我在哪里可以去了解它?
(另外,两个小问题:
NaN
有效的文字?Int
值不是NaN
?函数isNaN
的类型为Float -> Bool
http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN )
答案 0 :(得分:7)
NaN
不是有效的Int
值。这是elm-lang/core
包中有since been fixed on master的错误,但尚未发布。
答案 1 :(得分:1)
正在回答的第二个小问题(这太可怕了,它仍然没有过时)NaN
似乎是唯一x
这样的x /= x