scala map variadic-functions

scala: ¿Cómo pasar una lista expandida como varargs a un método?



map variadic-functions (2)

Al crear un Map en scala, llamo a Map(entities.map{e => e.id -> e}) , y obtengo:

found : scala.collection.mutable.IndexedSeq[(Int, Entity)] required: (Int, Entity)

Esto se debe a que la firma de Map.apply es: def apply[A, B](elems: (A, B)*): CC[A, B] , que requiere un argumento de estilo varargs.

¿Hay alguna forma de convertir IndexedSeq para que pueda ser aceptado a través de Map.apply ?


O esto debería funcionar también:

entities.map{e => e.id -> e} toMap


Pruebe esto: Map(entities.map{e => e.id -> e}:_*)

Explicarlo explícitamente como un varargs usando :_* parece funcionar.