作为 Scala 的新手(2.9.1) ,我有一个 List[Event]
,并希望将它复制到一个 Queue[Event]
中,但是下面的语法生成了一个 Queue[List[Event]]
:
val eventQueue = Queue(events)
由于某种原因,以下作品:
val eventQueue = Queue(events : _*)
但我想知道它是做什么的,为什么会有效?我已经看过 Queue.apply
函数的签名:
def apply[A](elems: A*)
我明白为什么第一次没成功但第二次的意义是什么?在这种情况下,什么是 :
,什么是 _*
,为什么 apply
函数不能只取 Iterable[A]
?