Будучи новичком в 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]
?