ScalaでUnpackの挙動がはまりそうだったので, メモ.

普通にListやTupleの変数の代入はできる. この方法を使うのならTupleですむならTupleにした方がいいかも.

scala> val List(a, b) = List(2, 3)
a: Int = 2
b: Int = 3

scala> val (a, b) = (17, 24)
a: Int = 17
b: Int = 24

_の部分の値はスキップできる.

scala> val (a, _, b) = (10, 20, 30)
a: Int = 10
b: Int = 30

pythonと同じのりで val a, b = (10, 20) みたいな形式で書くと多重代入になる.

scala> val a, b = (10, 20)
a: (Int, Int) = (10,20)
b: (Int, Int) = (10,20)


外部リンク