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

时间:2016-12-13 09:58:08

标签: elm

我知道在Scala中你可以使用单个表达式处理多个模式,在Elm中这样可能吗?

l match {
    case B(_) | C(_) => "B"
}

1 个答案:

答案 0 :(得分:8)

在Elm中,您一次只能匹配一个模式,除非您在下划线字符上进行模式匹配,这样可以捕获所有模式。

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

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

如果你的字符串更复杂,最好把它拉成自己的函数:

let
    doB -> "B"
in
    case l of
        B _ -> doB
        C _ -> doB
        ...