Ce n'param: _* moyenne en Scala?

Être de nouveau à la Scala (2.9.1), j'ai un List[Event] et voudrais le copier dans un Queue[Event], mais la Syntaxe suivante donne un Queue[List[Event]] à la place:

val eventQueue = Queue(events)

Pour une raison quelconque, les ouvrages suivants:

val eventQueue = Queue(events : _*)

Mais je voudrais comprendre ce qu'il fait, et pourquoi ça marche? J'ai déjà regardé à la signature de la Queue.apply fonction:

def apply[A](elems: A*)

Et je comprends pourquoi la première tentative ne fonctionne pas, mais quel est le sens de la seconde? Qu'est-ce que :, et _* dans ce cas, et pourquoi ne pas le apply fonction il suffit de prendre un Iterable[A] ?

InformationsquelleAutor Chris | 2011-10-29