给定一个元组类型
type T = (String, Int, String)
有没有什么方法可以得到一个类型T1,其中T1将是
type T1 = (MyClass, String, Int, String)
我希望能够宣布一个类似的课程
class TupleTypes[T] extends AnotherClass[T1]
注意:元组大小未知且
type T1 = (MyClass, T)
不会返回我想要的东西,它将返回(MyClass,(String,Int,String))这是不同的.
谢谢
您可以使用无形的HList元组转换来完成此操作.
scala> import shapeless._ ; import Tuples._
import shapeless._
import Tuples._
scala> class MyClass ; val m = new MyClass
defined class MyClass
m: MyClass = MyClass@3859023a
scala> val t1 = ("foo", 23, "bar")
t1: (String, Int, String) = (foo,23,bar)
scala> val t2 = (m :: t1.hlisted) tupled
t2: (MyClass, String, Int, String) = (MyClass@3859023a,foo,23,bar)