皆様、Scala 2.8.0で追加された、Iterator.continually()というメソッドはご存知でしょうか。これ、実はあまり知られて無いような気がするのですが、非常に 便利な機能です。特に難しいことも無いので、コードで実例を見ればすぐに便利さがわかるかと思います。 val lines = Iterator.continually(readLine()).takeWhile(_ != null) lines.filterNot(_.matches("""\s*""")).foreach(println) これは、標準入力から一行ずつ読み取って、空行を取り除いて出力する、というプログラムです。ポイントは、 Iterator.continually(readLine()) の部分で、これだけで、標準入力から各行を読むIteratorが出来ます。Iterator.continually