Ruby

OpenStruct知らなかったので使ってみた

More than 3 years have passed since last update.
hoge = OpenStruct.new
hoge.fuga = 'piyo'
hoge.fuga #=> "piyo"

# 初期値はhashで渡せる
hoge = OpenStruct.new(fuga: 'piyo')
hoge.fuga #=> "piyo"

みたいに簡単に構造体を使うことができる。

※存在しなくてもエラーにならないので、使い方は気をつけないと行けない

hoge = OpenStruct.new
hoge.bar #=> nil

deepに使用するには多少の工夫が必要っぽい
http://andreapavoni.com/blog/2013/4/create-recursive-openstruct-from-a-ruby-hash/#.VRJs6jusUu4