2

このコードはコンパイルされません

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

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

ただし、SortedSet での apply の定義は次のとおりです。

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

elem は vararg であるため、in は Seq[A] 型である必要があると書かれています。Seq を vararg として渡せないのはなぜですか?

4

1 に答える 1

7

追加するだけ: _*

scala> SortedSet[Int](Array(1,2,3,4).toSeq: _*)
res2: scala.collection.immutable.SortedSet[Int] = TreeSet(1, 2, 3, 4)
于 2013-08-05T09:08:48.920 に答える