Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ARGF.classクラス > each_char
each_char { |c| ... } -> self[permalink][rdoc]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