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

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

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

作成日: 更新日:

基本的な使い方

to_hメソッドは、RubyのStructクラスのインスタンスをHash(ハッシュ)に変換するメソッドです。Structは、複数の関連するデータをまとめて管理するための軽量なクラスであり、例えば、ユーザーの名前と年齢、商品の品番と価格など、複数の情報を名前付きの属性として保持する際に非常に便利です。

このto_hメソッドをStructのインスタンスに対して呼び出すと、そのStructが保持している各属性がキーと値のペアとなり、新しいHashオブジェクトとして生成されます。具体的には、Structで定義された各メンバー名がHashのキー(通常はシンボル)となり、そのメンバーに格納されている値がHashの値として対応付けられます。

例えば、Struct.new(:item_code, :price)で定義されたProduct構造体のインスタンスproduct = Product.new("A123", 1500)があった場合、product.to_hを実行すると{:item_code=>"A123", :price=>1500}のようなハッシュが返されます。

この変換は、Structで定義されたデータを、より汎用的なHash形式として扱いたい場合に非常に役立ちます。Hashはキーと値のペアでデータを管理するため、データの追加や検索、繰り返し処理といった柔軟な操作が容易になります。他のメソッドやライブラリがHash形式の入力を期待する場合や、データをJSON形式などで出力する際の中間形式として利用するなど、システム開発においてデータの形式を変換し、異なるコンポーネント間で連携させる場面で頻繁に活用される重要な機能です。

構文(syntax)

1Customer = Struct.new(:name, :address)
2customer = Customer.new("John Doe", "123 Main St")
3p customer.to_h # => {:name=>"John Doe", :address=>"123 Main St"}

引数(parameters)

引数なし

引数はありません

戻り値(return)

Hash

Structオブジェクトを、キーにメンバー名、値にメンバーの値を持つHashオブジェクトに変換して返します。

関連コンテンツ