話很少說見實例java
package com.donews.reynold /** * Created by reynold on 2017/3/23. */ object ScalaDemo { def main(args: Array[String]): Unit = { val t = Array("spark", "python", "java") val s = Set("spark", "scala", "java", "hadoop") val result = for { i <- s if t.contains(i) } yield { i.map(c => (c+1).toChar) } println( """ |yield的用法總結 |針對每一次 for 循環的迭代, yield 會產生一個值,被循環記錄下來 (內部實現上,像是一個緩衝區). |當循環結束後, 會返回全部 yield 的值組成的集合. |返回集合的類型與被遍歷的集合類型是一致的. """.stripMargin) println(result) println("遍歷結果") result.foreach(println(_)) } }
結果:python
yield的用法總結 針對每一次 for 循環的迭代, yield 會產生一個值,被循環記錄下來 (內部實現上,像是一個緩衝區). 當循環結束後, 會返回全部 yield 的值組成的集合. 返回集合的類型與被遍歷的集合類型是一致的. Set(tqbsl, kbwb) 遍歷... tqbsl kbwb