Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Structクラス > []
self[member] -> object
[permalink][rdoc]構造体のメンバの値を返します。
Foo = Struct.new(:foo, :bar) obj = Foo.new('FOO', 'BAR') p obj[:foo] # => "FOO" p obj['bar'] # => "BAR" # p obj[:baz] # => in `[]': no member 'baz' in struct (NameError) p obj[0] # => "FOO" p obj[1] # => "BAR" p obj[-1] # => "BAR" # Array のように負のインデックスも指定できます。 p obj[2] # => in `[]': offset 2 too large for struct(size:2) (IndexError)
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び 出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に 注意してください。