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.