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