Scalaのyield
今度はScalaのyield
について調べてみる。
下記ページがわかりやすかった。
Scala forメモ(Hishidama's Scala for Memo)
引用すると、
基本的なfor式では戻り値は無い(戻り型がUnitなので常に「()」が返る)が、yieldを付けることによって、繰り返した本体の演算結果を返すことが出来る。
「Scala yield」でぐぐってもfor式の説明しか出てこなかったので
Scalaではこれがyield
の全てなんでしょう、多分。
実際にsbt consoleで試してみる。
scala> for (i <- 1 to 5) yield i * 5 res0: scala.collection.immutable.IndexedSeq[Int] = Vector(5, 10, 15, 20, 25) scala> for (s <- Array(1, 2, 3)) yield s * 3 res1: Array[Int] = Array(3, 6, 9)
Rubyよりもっと使いみちがわからんけど
ひとまず定義っぽいものはわかったのでよしとする。