【发布时间】:2015-12-06 01:28:51
【问题描述】:
我想定义一个泛型集合的转换。
def transform[S<:GenIterable[T],T](s:S):S = s.zipWithIndex
这会抛出:
type mismatch; found : scala.collection.GenIterable[(T, Int)] required: S
我必须在函数定义中将S 声明为参数化的GenIterable。我想指定一个输出类型“无论创建 S 的集合类型是什么,除了用 [(T,Int)] 参数化”,这样我就可以保证得到相同的集合类型,而不仅仅是 GenIterable .
我怎样才能做到这一点?
【问题讨论】:
标签: scala scala-collections implicit generic-programming implicit-typing