【Ruby3.x】Struct::new()メソッドの使い方
newメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
newメソッドは、新しい構造体(データ構造)を定義するためのクラスを生成するメソッドです。Rubyの組み込みクラスであるStructに属しており、Struct.newとして利用されます。このメソッドは、引数として構造体の各メンバーの名前をシンボルまたは文字列で受け取ります。例えば、:nameや:ageといったメンバー名を指定できます。
Struct.newが呼び出されると、指定されたメンバー名に対応する属性(プロパティ)を自動的に持ち、それらの属性への読み書き(ゲッター・セッター)が可能な新しいクラスが動的に生成されます。この生成されたクラスはStructクラスを継承しています。
このようにして作られたクラスは、関連する複数のデータをまとめて一つのオブジェクトとして扱いたい場合に非常に便利です。例えば、ユーザーの氏名と年齢を管理するデータ構造が必要な場合、Struct.new(:name, :age)とすることで、nameとageというプロパティを持つ新しいクラスが作成され、そのインスタンスを通じてデータの管理が容易になります。これにより、コードの可読性が向上し、シンプルなデータコンテナを素早く定義できるようになります。
構文(syntax)
1Customer = Struct.new(:id, :name, :email)
引数(parameters)
*members, keyword_init: false
- *members: Structのインスタンスが持つべきメンバ名をシンボルで指定します。
- keyword_init: false: trueを指定すると、メンバ名をキーワード引数としてインスタンス化できます。デフォルトはfalseです。
戻り値(return)
Class
Struct.newは、新しいStructクラスを生成し、そのクラスを戻り値として返します。