Lorsque j'évalue un for
à Scala, je reçois un IndexedSeq
immuable (une collection avec des caractéristiques de performance semblable à un tableau, comme l'accès aléatoire efficace):Type de collection généré par pour avec un rendement
scala> val s = for (i <- 0 to 9) yield math.random + i
s: scala.collection.immutable.IndexedSeq[Double] = Vector(0.6127056766832756, 1.7137598183155291, ...
Est-ce un for
avec yield
retourne toujours un IndexedSeq
, ou peut-il aussi retourner un autre type de classe de collection (un LinearSeq
, par exemple)? S'il peut aussi retourner quelque chose d'autre, qu'est-ce qui détermine le type de retour, et comment puis-je l'influencer? J'utilise Scala 2.8.0.RC3.
Jetez un oeil à http://stackoverflow.com/questions/1052476/can-quelqu'un-expliquer-scalas-rendement/1059501 # 1059501 et http://stackoverflow.com/questions/1721356/scala-2-8-canbuildfrom –