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

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

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

作成日: 更新日:

基本的な使い方

each_byteメソッドは、文字列をバイト単位で順に処理を実行するメソッドです。このメソッドは、呼び出し元の文字列を構成する各バイトを、0から255までの整数値として順番に取り出します。

ブロックを伴って呼び出された場合、文字列内の各バイトに対応する整数値がブロック引数として渡され、ブロック内の処理が繰り返し実行されます。たとえば、「こんにちは」のようなマルチバイト文字を含む文字列に対してこのメソッドを適用すると、その文字を構成する複数のバイトそれぞれが独立した整数としてブロックに渡されます。これにより、文字列のエンコーディング(文字コード)に依存せず、純粋なバイト列として文字列のデータを扱うことが可能になります。この特性は、バイナリデータの解析、特定のバイトシーケンスの検索、あるいは文字コードの変換処理の基礎部分など、より低レベルなデータ操作が必要な場面で特に有用です。

ブロックが与えられなかった場合は、Enumeratorオブジェクトを返します。このEnumeratorオブジェクトは、後からeachnextなどのメソッドを使って、文字列の各バイトを必要に応じて順次取り出すことができます。each_byteメソッドは、文字やコードポイント(文字の数値表現)単位で処理を行うeach_chareach_codepointとは異なり、文字列の最も基本的なデータ表現であるバイト列に直接アクセスしたい場合に利用されます。

構文(syntax)

1"文字列".each_byte { |byte_value| # ここに各バイト値に対する処理を記述 }

引数(parameters)

引数なし

引数はありません

戻り値(return)

String または Enumerator

String オブジェクトの各バイトを引数としてブロックを実行します。ブロックが与えられなかった場合は、各バイトを巡回する Enumerator オブジェクトを返します。

関連コンテンツ

関連プログラミング言語