scala: Comment passer une liste étendue sous forme de varargs dans une méthode?

Lors de la création d’une Map dans Scala, j’appelle Map(entities.map{e => e.id -> e}) , et j’obtiens:

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

En effet, la signature de Map.apply est: def apply[A, B](elems: (A, B)*): CC[A, B] , qui nécessite un argument de style varargs.

Y a-t-il un moyen de convertir IndexedSeq pour qu’il puisse être accepté via Map.apply ?

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

En le saisissant explicitement comme un varargs en utilisant :_* semble fonctionner.

Ou cela devrait fonctionner aussi:

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