Sono a conoscenza di questa funzionalità fornita da ActiveSupport.Come posso ottenere l'accesso hash di stile JavaScript?
h = ActiveSupport::OrderedOptions.new
h.boy = 'John'
h.girl = 'Mary'
h.boy # => 'John'
h.girl # => 'Mary'
Comunque ho già una grande hash e voglio accedere a tale hash usando la notazione punto. Questo è quello che ho provato:
large_hash = {boy: 'John', girl: 'Mary'}
h = ActiveSupport::OrderedOptions.new(large_hash)
h.boy # => nil
Che non ha funzionato. Come posso fare questo lavoro.
Sto usando rubino 1.9.2
Aggiornamento:
dispiace Avrei detto che non posso usare openstruct perché non ha each_pair metodo che ha Struct. Non conosco le chiavi in anticipo, quindi non posso usare openstruct.
Quasi un'interrogazione identica: http://stackoverflow.com/questions/2240535/ruby-hash-keys-as-methods-on-a-class –
possibile duplicato del [Rubino - chiavi hash ai nomi dei metodi?] (http://stackoverflow.com/questions/6423484/ru by-hash-keys-to-method-names) –