Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】IO::each_char()メソッドの使い方

each_charメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

each_charメソッドは、IOクラスに属し、ファイルや標準入力といったIOオブジェクトからデータを文字単位で読み込み、指定された処理を実行するメソッドです。このメソッドは、データソースから文字コード(エンコーディング)を考慮して1文字ずつ文字を抽出し、その読み込んだ文字を引数として受け取るブロックに渡します。これにより、ファイルの内容を文字単位で繰り返し処理することが可能となり、例えばテキストファイル内の特定の文字の出現回数を数えたり、各文字に対して何らかの変換を加えたりする際に非常に有効です。特に、日本語のようなマルチバイト文字を含む場合でも、エンコーディング設定に基づいて正しく1文字として扱われるため、文字化けの心配が少なく、正確な処理が期待できます。もしブロックを省略して呼び出した場合、each_charメソッドは文字を順に取り出すためのEnumeratorオブジェクトを返します。このEnumeratorオブジェクトを利用することで、Rubyの様々なイテレータメソッドと組み合わせ、文字データの柔軟な加工や分析を行うことが可能です。システムエンジニアを目指す方にとって、IOオブジェクトからデータを細かく処理する上での基礎的ながら強力な手段として理解しておくべきメソッドの一つです。

構文(syntax)

1$stdin.each_char do |char|
2  puts char
3end

引数(parameters)

引数なし

引数はありません

戻り値(return)

IO または Enumerator

IOオブジェクト自身、またはeach_charメソッドをブロックなしで呼び出した場合はEnumeratorオブジェクトを返します。

関連コンテンツ

関連プログラミング言語