Ruby 2.5.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