【Scala】Scala ~ for yield ~

■ はじめに

Scalaで、yield と聞いて、Java の yield

https://dk521123.hatenablog.com/entry/2013/07/26/234707

みたいなものかなっと思ったが全然別物だったのでメモ。

【1】for yield

for 文の処理本体の前に yield を付けると
値を返す for 文 を作ることができる

 => なんのこっちゃ分からないと思うので
  以下のサンプルを見た方が早い

cf. yield (イールド) = 産出する

【2】サンプル

import scala.io.Source
import java.nio.file.{Paths, Files}
import java.nio.charset.StandardCharsets

object  Hello {
  def main(args: Array[String]): Unit = {
    val nameList = Array("Mike", "Tom", "Sam")
    // ★ここに注目★
    val helloList = for (name <- nameList) yield {
      s"Hello, ${name}!!!"
    }
    for (result <- helloList) {
      println(result)
    }
  }
}

出力結果

Hello, Mike!!!
Hello, Tom!!!
Hello, Sam!!!

参考文献

https://docs.scala-lang.org/ja/tour/for-comprehensions.html
https://qiita.com/ytayta/items/072dce2fe4ea15b7c74a

関連記事

Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
Scala ~ 基本編 / 繰り返し ~
https://dk521123.hatenablog.com/entry/2023/01/24/000000
Scala ~ 基本編 / 正規表現
https://dk521123.hatenablog.com/entry/2023/03/18/034704
Java ~ スレッド / Thread ~
https://dk521123.hatenablog.com/entry/2013/07/26/234707