【问题标题】:Support for functional pattern matching in Elm支持 Elm 中的功能模式匹配
【发布时间】:2016-09-30 01:07:16
【问题描述】:

在 Elm 中,有没有办法将函数的参数与 Haskell 中的多个定义进行模式匹配?

来自 Haskell 的示例:

factorial :: Int ->
factorial 0 = 1
factorial n = n * factorial (n - 1)

【问题讨论】:

    标签: functional-programming pattern-matching elm


    【解决方案1】:

    Elm 中没有类似的语法。

    实现类似行为的最简单方法是使用case 语句的模式匹配。

    请考虑以下示例:

    factorial : Int -> Int
    factorial n =
      case n of
        0 ->
          1
        _ ->
          n * factorial (n - 1)
    

    上面示例中的_ 用作通配符来匹配任何模式,在这种情况下,它是与0 不同的任何整数

    【讨论】:

    • 感谢工作!有点冗长但实用。
    猜你喜欢
    • 1970-01-01
    • 2021-09-10
    • 2016-07-13
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2021-02-13
    • 2021-10-28
    相关资源
    最近更新 更多