Вы можете использовать неявное преобразование из Tuple3
в Thingy
:
package example
case class Thingy(v1:Int, v2:Int, v3:Int)
object Thingy {
implicit def tuple2Thingy(t: Tuple3[Int, Int, Int]) = Thingy(t._1, t._2, t._3)
//add conversion in companion object
}
тогда вы можете использовать его так:
import example.Thingy._
val foo = Thing(
(1,2,3),
(4,5,6)
)
Если Thingy
это vararg:
case class Thingy(v1:Int*)
object Thingy {
implicit def tuple2ToThingy(t: Tuple2[Int, Int]) = Thingy(t._1, t._2)
implicit def tuple3ToThingy(t: Tuple3[Int, Int, Int]) = Thingy(t._1, t._2, t._3)
//etc until Tuple22
}