Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ARGF.classクラス > each_char

instance method 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