同じコードを使用して、リモートサービスからの複数の戻り値を処理するとします。これをScalaで表現する方法がわかりません。
code match {
case "1" => // Whatever
case "2" => // Same whatever
case "3" => // Ah, something different
}
Extractメソッドを使用して呼び出すことができますが、呼び出しにはまだ繰り返しがあります。 Rubyを使用していた場合、次のように記述します。
case code
when "1", "2"
# Whatever
when "3"
# Ah, something different
end
この例は単純化されているため、正規表現などのパターンマッチングはしたくないことに注意してください。一致値は実際には複雑な値です。
できるよ:
code match {
case "1" | "2" => // whatever
case "3" =>
}
パターンの一部を名前にバインドできないことに注意してください-現在、これを行うことはできません。
code match {
case Left(x) | Right(x) =>
case null =>
}