【Ruby3.x】Struct::[]()メソッドの使い方
[]メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
[]メソッドは、Structクラスのインスタンスが持つデータフィールドの値にアクセスするために使用されるメソッドです。Structは、複数の名前付きフィールドをまとめて扱うための簡易的なデータ構造を定義する際に役立ちます。このメソッドを利用することで、Structのインスタンスが保持する特定のフィールドの値を取得したり、そのフィールドに新しい値を設定したりすることが可能です。
フィールドにアクセスする方法は2種類あります。一つは、フィールドが定義された順番に基づいて、ゼロから始まるインデックス(数値)を指定する方法です。例えば、最初に定義されたフィールドにはインデックス0、次に定義されたフィールドにはインデックス1でアクセスできます。もう一つは、フィールドの名前をシンボルまたは文字列として指定する方法です。これにより、より直感的にフィールドを特定できます。
具体的には、Struct.new(:name, :age)のように定義された構造体のインスタンスpersonがあった場合、person[0]またはperson[:name]と記述することで、nameフィールドの値を取得できます。同様に、person[1] = 30やperson[:age] = 30のように記述することで、ageフィールドに新しい値を代入することも可能です。この[]メソッドは、Structオブジェクトの内部データを柔軟に操作するための基本的な手段として、多くの場面で活用されます。
構文(syntax)
1Person = Struct.new(:name, :age) 2person = Person.new("Alice", 30) 3 4# Structの要素にアクセス 5element_by_index = person[0] 6element_by_name = person[:name]
引数(parameters)
req
- key: 取得したい要素のキー(シンボルまたは文字列)
戻り値(return)
Object
Structオブジェクトの要素に、指定したキー(シンボルまたは文字列)を使ってアクセスします。対応する値が返されます。