Jestem świadomy tej funkcji zapewnianej przez ActiveSupport.Jak mogę uzyskać dostęp do skrótu stylu JavaScript?
h = ActiveSupport::OrderedOptions.new
h.boy = 'John'
h.girl = 'Mary'
h.boy # => 'John'
h.girl # => 'Mary'
Jednak już mam duży skrót i chcę uzyskać dostęp do tego skrótu za pomocą notacji kropkowej. Oto, co próbowałem:
large_hash = {boy: 'John', girl: 'Mary'}
h = ActiveSupport::OrderedOptions.new(large_hash)
h.boy # => nil
To nie zadziałało. Jak mogę to zrobić?
Używam Ruby 1.9.2
Aktualizacja:
Niestety muszę wspomnieć, że nie mogę używać openstruct ponieważ nie mają each_pair metodę, która ma Struct. Nie znam kluczy wcześniej, więc nie mogę użyć openstruct.
Prawie identyczny pytanie http://stackoverflow.com/questions/2240535/ruby-hash-keys-as-methods-on-a-class –
możliwe duplikat [Ruby - klucze Hash do nazw metod?] (http://stackoverflow.com/questions/6423484/ru by-hash-keys-to-method-names) –