Statistical Programming

入力処理… Iterator continually

scala.ioをディスってる記事にちょくちょく載ってる(こっちの方がいいよ的な意味で)Iterator continuallyが良いなと思ったんでめもる。

val lines=Iterator.continually(readLine).takeWhile(_ != "finish")

lines.foreach(println)

 これで"finish"が入力されるまで入力を続け、そのIteratorからforeach&printlnを使い出力できる。Iterator.continuallyの引数は繰り返される処理(ここではreadLine)を入れる。takeWhileは引数の中の条件がfalseになるまでを取得っつーことだからここでは"finish"が出るまで。あとはforeachで回せば出来上がり。

ちなみにIteratorは一度使ったらなくなっちまうからリストに入れるなり保存したりも…

val lines=Iterator.continually(readLIne).takeWhile(_ != "finish").toList

 なるほどね〜