Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ARGF.classクラス > each
each(rs = $/) { |line| ... } -> self
[permalink][rdoc]each_line(rs = $/) { |line| ... } -> self
each(rs = $/, limit) { |line| ... } -> self
each_line(rs = $/, limit) { |line| ... } -> self
each(rs = $/) -> Enumerator
each_line(rs = $/) -> Enumerator
each(rs = $/, limit) -> Enumerator
each_line(rs = $/, limit) -> Enumerator
ARGFの現在位置から 1 行ずつ文字列として読み込み、それを引数として与えら れたブロックを実行します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを生成し て返します。
このメソッドはスクリプトに指定した引数(Object::ARGV を参照) をファ イル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオ ブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイ ルの内容を返します。現在の行についてファイル名や行数を得るには ARGF.class#filename と ARGF.class#lineno を使用します。
例: ARGFの各ファイル名(最初に1回のみ)、行番号、内容を表示
ARGF.each_line do |line| puts ARGF.filename if ARGF.lineno == 1 puts "#{ARGF.lineno}: #{line}" end
[SEE_ALSO] IO#each, IO#each_line