【问题标题】:Does elm have a constant for infinity?榆树有一个无穷大的常数吗?
【发布时间】:2017-06-12 18:14:35
【问题描述】:

据此:http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN

Elm 支持无穷大并将其视为一个数字。现在我使用 inf = 1/0 作为常量,但我想知道如何导入无穷大,而不是定义它。

那么,Elm 是否有一个无穷大的常数,我该如何导入它?

【问题讨论】:

  • 无穷大的用例是什么? Elm 支持它作为浮点类型的一部分,就像 Javascript 一样,但在许多情况下,使用丰富的数据类型会更好,不是吗?
  • 实现归并排序,需要在归并函数中使用。替代方案也很有用。
  • 我很确定您不需要无穷大(也不需要最大界限)来实现合并排序。事实上,在 Elm 中,您甚至应该能够在任意两个可比较列表上实现多态合并函数。
  • 你说得对,刚刚在这里找到它:elm-lang.org/examples/merge-sort 我仍在思考,但我很好奇如何访问无穷大。
  • 您可以使用函数isInfinite检查任何Floatpackage.elm-lang.org/packages/elm-lang/core/5.1.1/…

标签: math elm infinity


【解决方案1】:

我看到您已经有了答案,但这是使用 Maybe 模拟 inifinty 的一种方法

infinity =
    Nothing


lessThan : Int -> Maybe Int -> Maybe Int
lessThan x y =
    case y of
        Just y_ ->
            if x < y_ then
                Just x

            else
                y

        Nothing ->
            Just x

【讨论】:

  • 这太棒了,所以您使用 Nothing 作为限制而不是 Infinity,但要澄清一下,什么是 Nothing? JS未定义或空?没有什么也不等于零吗?
猜你喜欢
  • 1970-01-01
  • 2012-05-13
  • 2022-08-12
  • 2018-04-07
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多