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

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

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

作成日: 更新日:

基本的な使い方

each_valueメソッドは、RubyのHashオブジェクトが保持する各値に対して、指定された処理を実行するメソッドです。Hashはキーと値のペアでデータを管理するデータ構造ですが、このメソッドはキーを考慮せず、値のみを順番に操作したい場合に特に役立ちます。

このメソッドにブロック({}do...endで囲まれた処理のまとまり)を渡すと、ハッシュに含まれるすべての値が一つずつそのブロックに渡され、ブロック内の処理が実行されます。例えば、ハッシュのすべての値を画面に表示したり、特定の条件を満たす値を集計したりする際に利用できます。

ブロックを省略してメソッドを呼び出した場合は、Enumeratorというオブジェクトを返します。Enumeratorは、後から値を順次処理するための機能を提供するもので、例えばnextメソッドを使って値を一つずつ取得したり、mapselectといった他のイテレータメソッドと組み合わせて利用したりすることができます。

このメソッドの戻り値は、ブロックを渡した場合は元のHashオブジェクト自身です。これにより、メソッドチェーンを使った連続的な処理が可能となります。each_valueメソッドは、Hash内の値をまとめて操作する際に、簡潔で効率的なコードを書くための基本的なツールの一つです。

構文(syntax)

1my_hash = { key1: "value1", key2: "value2", key3: "value3" }
2my_hash.each_value do |value|
3  puts value
4end

引数(parameters)

引数なし

引数はありません

戻り値(return)

Hash または Enumerator

Hashの各要素の値を順番に処理するためのイテレータを返します。ブロックが与えられなかった場合は、Enumeratedオブジェクトを返します。

関連コンテンツ

関連プログラミング言語