我知道在Scala中你可以使用单个表达式处理多个模式,在Elm中这样可能吗?
l match {
case B(_) | C(_) => "B"
}
答案 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
...