Scala プログラミング言語の yield キーワード

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

この記事では、さまざまな例を使用して、Scala で yield キーワードを使用する方法を学習します。

yield キーワードは for ループで使用されます。for ループの各反復で、yield は記憶された値を生成します。

これは、for ループのバッファーとして機能します。for ループが繰り返されるたびに、アイテムがこのバッファーに追加されます。

for ループがすべての反復を終了すると、生成されたすべての値のコレクションが返されます。

返されるコレクションのタイプ。同じタイプの for ループが繰り返されていたため、ListList を生成し、MapMap を生成し、arrayarray を生成します。

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
著者: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub