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


yield配合for的用法

話不多說見實例

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(_))
  }
}

結果:

yield的用法總結
針對每一次 for 循環的迭代, yield 會產生一個值,被循環記錄下來 (內部實現上,像是一個緩沖區).
當循環結束后, 會返回所有 yield 的值組成的集合.
返回集合的類型與被遍歷的集合類型是一致的.
      
Set(tqbsl, kbwb)
遍歷...
tqbsl
kbwb

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM