作为 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]?