如何在...的情况下为匹配添加条件

Fre*_*ios 2 elm

在函数式语言中,可以向模式匹配的分支添加条件:例如,在OCaml中:

let value = match something with
| OneThing -> "1"
| Another when condition -> "2"
| _ -> "3"
Run Code Online (Sandbox Code Playgroud)

如何在榆树中做到这一点?我试过whenif,但毫无效果.

Cha*_*ert 5

Elm在模式匹配中没有条件,可能是因为语言设计者倾向于保持语法小而简单.

你能做的最好的事情是这样的:

let
    value =
        case something of
            OneThing ->
                "1"

            Another ->
                if condition then
                    "2"
                else
                    ...

            _ ->
                "3"
Run Code Online (Sandbox Code Playgroud)