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

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

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

作成日: 更新日:

基本的な使い方

eachメソッドは、Hashオブジェクトに格納されている各キーと値のペアに対して、指定された処理を順番に実行するメソッドです。このメソッドは、レシーバであるハッシュのすべての要素を一つずつ取り出し、それらを引数としてブロックに渡して実行します。ここで言う「ブロック」とは、プログラマーが各要素に対して行いたい処理を記述するためのコードのまとまりのことです。

eachメソッドを使用すると、ハッシュのキーと値を個別に参照し、それらを使った操作を効率的に行うことができます。たとえば、ハッシュのすべての要素を画面に表示したり、特定のキーや値を持つ要素だけを選んで別の処理を実行したりする場合に役立ちます。ブロックには通常、最初の引数として現在のキーが、2番目の引数としてそのキーに対応する値が渡されます。これにより、ブロック内でそれぞれのキーと値にアクセスし、自由に利用できます。

このメソッドは、すべてのキーと値のペアに対する処理が完了した後、レシーバである元のHashオブジェクト自身を返します。したがって、元のハッシュオブジェクトの内容に変更を加えることなく、繰り返し処理を実行できます。

システム開発の現場では、設定ファイルを読み込んだハッシュの内容を検証したり、外部APIから取得したデータの構造を解析して必要な情報だけを取り出したりする際に、eachメソッドが頻繁に活用されます。データの反復処理を安全かつ簡潔に記述できるため、可読性の高いコードを書く上でも重要な役割を担います。

構文(syntax)

1my_hash = { key1: "value1", key2: "value2", key3: "value3" }
2my_hash.each do |key, value|
3  puts "キー: #{key}, 値: #{value}"
4end

引数(parameters)

引数なし

引数はありません

戻り値(return)

self (ブロックありの場合), Enumerator (ブロックなしの場合)

eachメソッドは、ハッシュの各要素に対してブロックを繰り返し実行します。ブロックが指定された場合は、元のハッシュ自身が返されます。ブロックが指定されなかった場合は、各要素を順に返すEnumeratorオブジェクトが返されます。

関連コンテンツ

関連プログラミング言語