scala語言yield配合for的用法實例

yield配合for的用法

話很少說見實例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
相關文章
相關標籤/搜索