支持 Elm 中的功能模式匹配



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

哈斯克尔的例子:

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

Elm 中没有与该语法等效的语法。

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

请考虑以下示例:

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

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

最新更新