2013-08-05 7 views
2

Этот код не будет компилироватьсяПередача Seq [T] как vararg в Scala

val sortedSet = SortedSet[Int](Array(1,2,3,4).toSeq) 

    Error: type mismatch; found :Seq[Int] required Int 

Однако, здесь это определение применяется в SortedSet:

def apply[A](elems: A*)(implicit ord: Ordering[A]): CC[A] = (newBuilder[A](ord) ++= elems).result 

Он говорит, что элем является vararg и поэтому должны быть типа Seq [A] Что мне не хватает? Почему я не могу передать Seq как vararg?

ответ

6

Просто добавьте : _*

scala> SortedSet[Int](Array(1,2,3,4).toSeq: _*) 
res2: scala.collection.immutable.SortedSet[Int] = TreeSet(1, 2, 3, 4) 
Смежные вопросы