Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Structクラス > []
self[member] -> object(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの値を返します。
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)