🦍

Scalaのtupledメソッド

2020/09/21に公開

引数を二つ取る関数オブジェクトを、tupledというメソッドを使うことで引数にtupleを渡せるように変換できる。

scala> val f = { (x: Int, y: Int) => x + y }
val f: (Int, Int) => Int = $Lambda$1050/0x00000008010ec040@69b37f5c

scala> val t = f.tupled
val t: ((Int, Int)) => Int = scala.Function2$$Lambda$393/0x0000000800de9040@5b5b9521

scala> val arg = (1, 2)
val arg: (Int, Int) = (1,2)

scala> val r = t(arg)
val r: Int = 3

わざわざarg._1arg._2と書かずに済む。

Discussion