instance method ARGF.class#each_char

each_char { |c| ... } -> self[permalink][rdoc][edit]
each_char -> Enumerator

レシーバに含まれる文字を一文字ずつブロックに渡して評価します。

このメソッドはスクリプトに指定した引数(Object::ARGV を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在位置の1文字についてファイル名を得るには ARGF.class#filename を使用します。

ブロックが与えられなかった場合は、Enumerator オブジェクトを生成して返します。

例:

# $ echo "line1\n" > test1.txt
# $ echo "line2\n" > test2.txt
# $ ruby test.rb test1.txt test2.txt

# test.rb
ARGF.each_char          # => #<Enumerator: ARGF:each_char>
ARGF.each_char{|e|p e}

# => "l"
#    "i"
#    "n"
#    "e"
#    "1"
#    "\n"
#    "l"
#    "i"
#    "n"
#    "e"
#    "2"
#    "\n"

[SEE_ALSO] IO#each_char, IO#chars