2008年10月19日日曜日

OpenStruct

javascriptのように、プロパティを動的に作成する構造体を用意できる。

baker@voyager-eeepc:~/mybox$ irb
irb(main):001:0> require 'ostruct'
=> true
irb(main):002:0> a = OpenStruct.new
=> #<OpenStruct>
irb(main):003:0> a.first_name = %(yamada)
=> "yamada"
irb(main):004:0> a.last_name = %(masahiro)
=> "masahiro"
irb(main):005:0> a.first_name = a.last_name
=> "masahiro"
irb(main):006:0> a
=> #<OpenStruct first_name="masahiro", last_name="masahiro">
irb(main):007:0> a.family_name = %(yamada)
=> "yamada"
irb(main):008:0> a
=>#<OpenStructfirst_name="masahiro",last_name="masahiro",family_name="yamada">
irb(main):009:0>