Cuando evalúo un for
en Scala, me sale un inmutable IndexedSeq
(una colección con las características de la matriz como de rendimiento, tales como acceso aleatorio eficiente):tipo Colección generada por para con el rendimiento
scala> val s = for (i <- 0 to 9) yield math.random + i
s: scala.collection.immutable.IndexedSeq[Double] = Vector(0.6127056766832756, 1.7137598183155291, ...
¿Un for
con un yield
siempre devuelve un IndexedSeq
, o también puede devolver algún otro tipo de clase de colección (un LinearSeq
, por ejemplo)? Si también puede devolver algo más, ¿qué determina el tipo de devolución y cómo puedo influir en él?
Estoy usando Scala 2.8.0.RC3.
Tenga una mirada en http://stackoverflow.com/questions/1052476/can-someone-explain-scalas-yield/1059501 # 1059501 y http://stackoverflow.com/questions/1721356/scala-2-8-canbuildfrom –