使用Elm中的单个语句处理多个匹配案例

Max*_*kin 5 elm

我知道在Scala中你可以使用单个表达式处理多个模式,这在榆树中是否可能?

l match {
    case B(_) | C(_) => "B"
}
Run Code Online (Sandbox Code Playgroud)

Cha*_*ert 8

在Elm中,您一次只能匹配一个模式,除非您在下划线字符上进行模式匹配,从而捕获所有模式.

case l of
    B _ -> "B"
    C _ -> "B"
    ...

-- or...
case l of
    ...
    _ -> "B"
Run Code Online (Sandbox Code Playgroud)

如果你有一个比字符串更复杂的东西,最好把它拉成自己的函数:

let
    doB -> "B"
in
    case l of
        B _ -> doB
        C _ -> doB
        ...
Run Code Online (Sandbox Code Playgroud)