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