【问题标题】:Why does "remainderBy 0 100" in Elm 0.19 return NaN, not Maybe Int?为什么 Elm 0.19 中的“remainderBy 0 100”返回 NaN,而不是 Maybe Int?
【发布时间】:2019-07-30 14:27:32
【问题描述】:

在 JavaScript 中,0 % 1000,但在 Elm 中,同样操作的结果是 this。

> remainderBy 0 100
NaN : Int

我刚刚认为remainderBy 函数更好地返回Maybe Int,如下所示。

> remainderBy 0 100
Nothing : Maybe Int

> remainderBy 6 3
Just 2 : Maybe Int

Elm 有什么理由让remainderBy 返回NaN

【问题讨论】:

    标签: javascript elm


    【解决方案1】:

    remainderBy 的第一个参数是除数,与您的预期相反。所以remainderBy 0 100100 % 0是一样的

    你除以 0,所以结果是 NaN。

    【讨论】:

    • 谢谢!但我也觉得在 Elm 世界中,不欢迎 NaN。为什么 Elm 不把它包装成 Maybe?
    • 文档中包含以下消息: > 历史注释:浮点数的特定细节(例如 NaN)由 IEEE 754 指定,它实际上是硬编码到世界上几乎所有 CPU 中的。这意味着,如果您认为 NaN 很奇怪,您必须使用不向后兼容任何广泛使用的汇编语言的芯片成功超越 Intel 和 AMD。
    猜你喜欢
    • 1970-01-01
    • 2017-12-05
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    相关资源
    最近更新 更多