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

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

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

作成日: 更新日:

基本的な使い方

[]メソッドは、Structクラスのインスタンスが持つデータフィールドの値にアクセスするために使用されるメソッドです。Structは、複数の名前付きフィールドをまとめて扱うための簡易的なデータ構造を定義する際に役立ちます。このメソッドを利用することで、Structのインスタンスが保持する特定のフィールドの値を取得したり、そのフィールドに新しい値を設定したりすることが可能です。

フィールドにアクセスする方法は2種類あります。一つは、フィールドが定義された順番に基づいて、ゼロから始まるインデックス(数値)を指定する方法です。例えば、最初に定義されたフィールドにはインデックス0、次に定義されたフィールドにはインデックス1でアクセスできます。もう一つは、フィールドの名前をシンボルまたは文字列として指定する方法です。これにより、より直感的にフィールドを特定できます。

具体的には、Struct.new(:name, :age)のように定義された構造体のインスタンスpersonがあった場合、person[0]またはperson[:name]と記述することで、nameフィールドの値を取得できます。同様に、person[1] = 30person[: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オブジェクトの要素に、指定したキー(シンボルまたは文字列)を使ってアクセスします。対応する値が返されます。

関連コンテンツ