La palabra clave yield en el lenguaje de programación Scala
En este artículo, aprenderemos cómo usar la palabra clave yield
en Scala con la ayuda de diferentes ejemplos.
La palabra clave yield
se utiliza con bucles for
. En cada iteración del bucle for
, yield
genera un valor recordado.
Actúa como un búfer para el bucle for
. Para cada iteración del bucle for
, se agregan elementos a este búfer.
Una vez que el bucle for
finaliza todas sus iteraciones, se devuelve una colección
de todos los valores obtenidos.
El tipo de colección que se devuelve. El mismo tipo de bucle for
fue iterado, por lo que una Lista
produce una Lista
, un Map
produce un Map
, un array
produce un array
, y así sucesivamente.
La sintaxis de yield
:
for() yield variable;
Uso de la palabra clave yield
en un array en Scala
Iteraremos sobre todos los elementos de un array usando el bucle for y usaremos la palabra clave yield
para almacenar elementos en cada iteración del bucle for
.
Código de ejemplo:
object MyClass {
def main(args: Array[String]) : Unit = {
val array = Array(100,200,300,500,600)
var buffer = for (i <- array if i > 200) yield i
for(i<-buffer)
{
println(i)
}
}
}
Producción :
300
500
600
yield
con Scala List
Iteramos sobre todos los elementos de una Lista
usando el bucle for y usamos la palabra clave yield
para almacenar elementos en cada iteración del bucle for
y realizar alguna operación en ellos.
object MyClass {
def main(args: Array[String]) : Unit = {
val myList = List(1,2,3,4,5,6,7,8,9,10)
var buffer = for (i <- myList) yield i*i*i
println("Values from yield")
for(i <- buffer) println(i)
}
}
Producción :
Values from yield
1
8
27
64
125
216
343
512
729
1000