Scala 编程语言中的 yield 关键字

Suraj P 2022年5月18日
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

yield 使用 Scala 列表

我们将使用 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
Author: 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