Scala では、他の多くの関数型言語と同じように、パターンマッチを使う事ができます。 パターンマッチは、所謂多分岐の一種で、他の言語の switch 文などを思い浮かべるとわかりやすい機能ですが、単なる場合分けだけではなく 分解 を行う事ができるという強味があります。 分解というのは、ある値の、その構造に従って個々の要素を取り出す事です。 scala> List(1,2,3) match { case head :: _ => head case Nil => -1 } res0: Int = 1