Tuple

  • タプルと読む。
  • 型がちゃんと使える、色んな型を混ぜれる配列
  • Scala では () で書く
("Tom", 20)
// (String, Int)
  • 各要素には tuple._1 のようにアクセスする
  • 使う場所としては、複数の値を返したいが、構造体作って名前つけるほどじゃねぇ。 という場合と、Scala のパターンマッチ機能と合わせて使う。

制限

  • ちなみに、Java の拡張でしか無い Scala では、LISP のように好きなだけ Tuple の長さを上げることが出来ない。
  • なぜなら、下のように、要素数に応じたクラスが定義されており、それのジェネリックで Tuple を再現している。
  • 最大長は 22 である
package scala

case class Tuple1[+T1] (_1: T1)
case class Tuple2[+T1, +T2] (_1: T1, _2: T2)