Le mot clé yield dans le langage de programmation Scala
Dans cet article, nous allons apprendre à utiliser le mot-clé yield
dans Scala à l’aide de différents exemples.
Le mot clé yield
est utilisé avec les boucles for
. A chaque itération de la boucle for
, yield
génère une valeur mémorisée.
Il agit comme un buffer pour la boucle for
. A chaque itération de la boucle for
, des items sont ajoutés à ce buffer.
Une fois que la boucle for
a terminé toutes ses itérations, une collection
de toutes les valeurs fournies est renvoyée.
Type de collection retourné. La boucle for
du même type était itérative, donc une List
donne une List
, une Map
donne une Map
, un array
donne un array
, et ainsi de suite.
La syntaxe de yield
:
for() yield variable;
Utilisation du mot-clé yield
dans un tableau en Scala
Nous allons itérer sur tous les éléments d’un tableau à l’aide de la boucle for et utiliser le mot clé yield
pour stocker les éléments à chaque itération de la boucle for
.
Exemple de code :
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)
}
}
}
Production :
300
500
600
yield
avec liste Scala
Nous allons parcourir tous les éléments d’une List
en utilisant la boucle for et utiliser le mot-clé yield
pour stocker les éléments à chaque itération de la boucle for
et effectuer une opération sur eux.
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)
}
}
Production :
Values from yield
1
8
27
64
125
216
343
512
729
1000