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