変数宣言におけるパターンマッチング
パターンマッチングは match 式の中だけじゃなく、変数宣言においても使用できる。
例えばケースクラス Point があったとして
scala> case class Point(x: Int, y: Int)
defined class Point
こんなふうに変数宣言すると
scala> val Point(x, y) = Point(10, 20)
x: Int = 10
y: Int = 20
変数 x と y に値が束縛される。
scala> x
res0: Int = 10
scala> y
res1: Int = 20
ちなみに、パターンがマッチしない場合には例外が発生するので、変数宣言でのパターンマッチングは型が合うことが確実な場合にだけ使うように、と資料には書いてある。
