私が表現したいステートメントがあります。Cでは擬似コードは次のようになります。
switch(foo):
case(1)
if(x > y) {
if (z == true)
doSomething()
}
else {
doSomethingElse()
}
return doSomethingElseEntirely()
case(2)
essentially more of the same
scalaパターンマッチング構文で良い方法は可能ですか?
1つのmatch
ステートメントで複数の条件を処理する場合は、guardsを使用して、ケースに追加の条件を指定することもできます。
foo match {
case 1 if x > y && z => doSomething()
case 1 if x > y => doSomethingElse()
case 1 => doSomethingElseEntirely()
case 2 => ...
}