我知道在Scala中,你可以使用单个表达式处理多个模式,那么在Elm中是否也有类似的功能呢?
l match {
case B(_) | C(_) => "B"
}
我知道在Scala中,你可以使用单个表达式处理多个模式,那么在Elm中是否也有类似的功能呢?
l match {
case B(_) | C(_) => "B"
}
在 Elm 中,您一次只能匹配一个模式,除非您在下划线字符上进行模式匹配,该字符会捕获所有内容。
case l of
B _ -> "B"
C _ -> "B"
...
-- or...
case l of
...
_ -> "B"
如果你有比字符串更复杂的内容,最好将它单独拆分成函数:
let
doB -> "B"
in
case l of
B _ -> doB
C _ -> doB
...
sample expression =
case expression of
Case1 -> "String"
Case2 -> sample Case1
Case3 -> sample Case1