基本文法
val result = if (age >= 20) "adult" else "minor"
Scalaではifは式(expression)であり、値を返す
val status = if (age >= 65) "senior"
else if (age >= 20) "adult"
else "minor"
参照:サンプルコード
match
は値を返す式case
で分岐し、どの条件にマッチしたかで値を決定するval n = 2
val result = n match {
case 1 => "one"
case 2 => "two"
case _ => "other"
}
println(result) // "two"
_
:どれにもマッチしなかった時のワイルドカードcase class
の組み合わせcase class
の構造をそのまま分解できるOption
, List
, Either
などとも相性がいい_
は「使わない変数」を明示するためのシグナルとなるu match {
case User("Alice", _) => println("Hi Alice!")
case User(name, age) => println(s"$name is $age years old.")
}
case
を使って特定の入力にだけ反応する関数
{
case 0 => "zero"
case _ => "other"
}
参照:サンプルコード