■ はじめに
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