Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > stringioライブラリ > StringIOクラス > each

instance method StringIO#each

each(rs = $/) {|line| ... } -> self[permalink][rdoc]
each_line(rs = $/) {|line| ... } -> self
lines(rs = $/) {|line| ... } -> self
each(rs = $/) -> Enumerator
each_line(rs = $/) -> Enumerator
lines(rs = $/) -> Enumerator

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] IOError:
自身が読み取り不可なら発生します。
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

[SEE_ALSO] $/