scala裏面的for...yield循環

scala裏面的for...yield循環:

下面那段話的意義就是,for 循環中的 yield 會把當前的元素記下來,保存在集合中,循環結束後將返回該集合。Scala 中 for 循環是有返回值的。如果被循環的是 Map,返回的就是  Map,被循環的是 List,返回的就是 List,以此類推。

返回:Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
還可以增加表達式,例如if

返回:

Vector(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)

每循環一次,會自動添加一個yield的1*x表達式算出來的值,循環結束後,會返回所有yield的值組成的集合。返回的集合類型和遍歷的類型是一樣的。


發佈了33 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章