Scala プログラミング言語の yield キーワード
Suraj P
2022年4月18日
Scala
Scala Yield

この記事では、さまざまな例を使用して、Scala で yield
キーワードを使用する方法を学習します。
yield
キーワードは for
ループで使用されます。for
ループの各反復で、yield
は記憶された値を生成します。
これは、for
ループのバッファーとして機能します。for
ループが繰り返されるたびに、アイテムがこのバッファーに追加されます。
for
ループがすべての反復を終了すると、生成されたすべての値のコレクション
が返されます。
返されるコレクションのタイプ。同じタイプの for
ループが繰り返されていたため、List
は List
を生成し、Map
は Map
を生成し、array
は array
を生成します。
yield
の構文:
for() yield variable;
Scala の配列で yield
キーワードを使用する
for ループを使用して配列のすべての要素を反復処理し、yield
キーワードを使用して for
ループの各反復で要素を格納します。
コード例:
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)
}
}
}
出力:
300
500
600
Scala リストを使用した yield
for ループを使用して List
のすべての要素を反復処理し、yield
キーワードを使用して for
ループの各反復で要素を格納し、それらに対して何らかの操作を実行します。
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)
}
}
出力:
Values from yield
1
8
27
64
125
216
343
512
729
1000
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe