在 Elm 中使用单个语句处理多个匹配案例
Handling multiple match cases with single statement in Elm
我知道在 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
我知道在 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