Tipo de colección generado por for con rendimiento
Cuando evalúo unfor
en Scala, obtengo un inmutableIndexedSeq
(una colección con características de rendimiento tipo matriz, como un acceso aleatorio eficiente):
scala> val s = for (i <- 0 to 9) yield math.random + i
s: scala.collection.immutable.IndexedSeq[Double] = Vector(0.6127056766832756, 1.7137598183155291, ...
Hace unfor
con unyield
siempre devuelve unIndexedSeq
, o también puede devolver algún otro tipo de clase de colección (unLinearSeq
, por ejemplo)? Si también puede devolver algo más, ¿qué determina el tipo de retorno y cómo puedo influir en él?
Estoy usando Scala 2.8.0.RC3.