HOWTO · Scala
Das yield-Schlüsselwort in der Programmiersprache Scala
Dieser Artikel zeigt, wie das Schlüsselwort yield in Scala verwendet wird.
Auf dieser Seite
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