访问Tuple3的类型

时间:2016-03-22 16:55:30

标签: scala

我尝试编译this scala class但scalac不接受以下函数:

def toTuple3[T <: Triple[Dense,Dense,Dense]](implicit dra: DRep[T#_1], drb: DRep[T#_2], drc: DRep[T#_3]) : (Int, Int, Int) =
    (toInt[T#_1], toInt[T#_2], toInt[T#_3])

它说:

  

Dense.scala:130:错误:类型T_1不是类型参数T

的成员

T_2和T_3相同。

如何访问TripleTuple3

的类型

1 个答案:

答案 0 :(得分:0)

我认为您需要将元组类型参数的类型作为您自己的类型参数

def toTuple3[A <: Dense, B <: Dense, C <: Dense, T <: Tuple3[A,B,C]](implicit dra: DRep[A], drb: DRep[B], drc: DRep[C]) : (Int, Int, Int) =
(toInt[A], toInt[B], toInt[C])