Das yield-Schlüsselwort in der Programmiersprache Scala
In diesem Artikel lernen wir anhand verschiedener Beispiele, wie man das Schlüsselwort yield in Scala verwendet.
Das Schlüsselwort yield wird mit for-Schleifen verwendet. Bei jeder Iteration der for-Schleife generiert yield einen gespeicherten Wert.
Es fungiert als Puffer für die for-Schleife. Für jede Iteration der for-Schleife werden diesem Puffer Elemente hinzugefügt.
Sobald die for-Schleife alle ihre Iterationen beendet hat, wird eine Sammlung aller ausgegebenen Werte zurückgegeben.
Der Typ der zurückgegebenen Sammlung. Derselbe Typ for-Schleife wurde iteriert, also ergibt eine List eine List, eine Map ergibt eine Map, ein array ergibt ein array und so weiter.
Die Syntax von yield:
for() yield variable;
Verwenden des Schlüsselworts yield in einem Array in Scala
Wir iterieren über alle Elemente eines Arrays mit der for-Schleife und verwenden das Schlüsselwort yield, um Elemente bei jeder Iteration der for-Schleife zu speichern.
Beispielcode:
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)
}
}
}
Ausgabe:
300
500
600
yield mit Scala-Liste
Wir werden alle Elemente einer Liste mit der for-Schleife durchlaufen und das Schlüsselwort yield verwenden, um Elemente bei jeder Iteration der for-Schleife zu speichern und einige Operationen an ihnen auszuführen.
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)
}
}
Ausgabe:
Values from yield
1
8
27
64
125
216
343
512
729
1000
