Essendo nuovo di Scala (2.9.1), ho un List[Event]
e vorrei copiarlo in un Queue[Event]
, ma la seguente Sintassi produce invece una Queue[List[Event]]
:
val eventQueue = Queue(events)
Per qualche ragione, i seguenti lavori:
val eventQueue = Queue(events : _*)
Ma mi piacerebbe capire cosa fa e perché funziona? Ho già visto la firma della funzione Queue.apply
:
def apply[A](elems: A*)
E capisco perché il primo tentativo non funziona, ma qual è il significato del secondo? Che cosa è Iterable[A]
e _*
in questo caso, e perché la funzione apply
non prende semplicemente un Iterable[A]
?