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

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

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

作成日: 更新日:

基本的な使い方

[]=メソッドは、RubyのStructクラスのインスタンス(複数のデータをまとめた構造体オブジェクト)が持つ、特定のメンバーに新しい値を代入するために使用されるメソッドです。

このメソッドは、配列のインデックスやハッシュのキーを指定するのと同様に、角括弧[]を使って対象のメンバーを指定し、そのメンバーに新しい値を設定します。メンバーの指定方法としては、構造体が定義された際のメンバーの順番を示す0から始まる整数、またはメンバー名を直接表すシンボルを利用することができます。

たとえば、:name:ageというメンバーを持つStructオブジェクトがあった場合、オブジェクト[0] = "山田"のようにインデックスで指定したり、オブジェクト[:name] = "山田"のようにシンボルで指定したりして、対応するメンバーの値を更新することが可能です。

このメソッドを使うことで、Structオブジェクトが保持する複数のデータの中から、意図する項目に新しい値を柔軟に設定し、オブジェクトの状態を変化させることができます。Structオブジェクトのデータを効率的に操作するための、基本的ながらも重要な手段の一つです。

構文(syntax)

1# Structを定義
2Person = Struct.new(:name, :age)
3
4# インスタンスを生成
5person = Person.new("Alice", 30)
6
7# []= メソッドを使用して、'name' フィールドの値を "Bob" に設定
8person[:name] = "Bob"

引数(parameters)

index, value

  • index: 格納する要素の位置を指定するインデックス
  • value: 格納する要素の値

戻り値(return)

Object

Structクラスの[]= メソッドは、指定されたキーに対応する値を代入します。このメソッドの戻り値は、代入された値そのもの(Object)です。

関連コンテンツ