Scala 编程语言中的 yield 关键字
Suraj P
2022年5月18日
在本文中,我们将借助不同的示例来学习如何在 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