質問: タイトルが適切か怪しいですが ``` class Hoge def fuga {:piyo => 1} end end ``` このようなクラスがあった場合、以下のような使い方になると思いますが、 ``` hoge =Hoge.new hoge.fuga[:piyo] # => 1 ``` `hoge.fuga.piyo`でも参照出来るようにしたい場合、どのようにするのが適切でしょうか。 数が少なく、キーも固定であればメソッドやインスタンス変数にする事はできると思いますが、 ハッシュの中身(キーも含めて)が動的に変わる場合でも対応できるように実装は可能でしょうか。 よろしくお願いします。
回答: `OpenStruct` (`require 'ostruct'`) はいかがですか?