

タイトルが適切か怪しいですが

[code]

    class Hoge
      def fuga
        {:piyo => 1}
      end
    end
    
[/code]

このようなクラスがあった場合、以下のような使い方になると思いますが、

[code]

    hoge =Hoge.new
    hoge.fuga[:piyo] # => 1
    
[/code]

`hoge.fuga.piyo`でも参照出来るようにしたい場合、どのようにするのが適切でしょうか。  
数が少なく、キーも固定であればメソッドやインスタンス変数にする事はできると思いますが、  
ハッシュの中身(キーも含めて)が動的に変わる場合でも対応できるように実装は可能でしょうか。

よろしくお願いします。


CC BY-SA 3.0
2016-12-13T15:53:25.680
31127
2016-12-13T22:42:13.767
9149
question
ruby
Rubyでハッシュをインスタンスのように扱う方法


`OpenStruct` (`require 'ostruct'`) はいかがですか?


CC BY-SA 3.0
2016-12-13T22:42:13.767
31131
2016-12-13T22:42:13.767
17037
31127
answer