【Ruby3.x】Hash::each_value()メソッドの使い方
each_valueメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
each_valueメソッドは、RubyのHashオブジェクトが保持する各値に対して、指定された処理を実行するメソッドです。Hashはキーと値のペアでデータを管理するデータ構造ですが、このメソッドはキーを考慮せず、値のみを順番に操作したい場合に特に役立ちます。
このメソッドにブロック({}やdo...endで囲まれた処理のまとまり)を渡すと、ハッシュに含まれるすべての値が一つずつそのブロックに渡され、ブロック内の処理が実行されます。例えば、ハッシュのすべての値を画面に表示したり、特定の条件を満たす値を集計したりする際に利用できます。
ブロックを省略してメソッドを呼び出した場合は、Enumeratorというオブジェクトを返します。Enumeratorは、後から値を順次処理するための機能を提供するもので、例えばnextメソッドを使って値を一つずつ取得したり、mapやselectといった他のイテレータメソッドと組み合わせて利用したりすることができます。
このメソッドの戻り値は、ブロックを渡した場合は元の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オブジェクトを返します。