Метапрограммирование Ruby: имена динамических переменных экземпляра

Допустим, у меня есть следующий хэш:

{ :foo => 'bar', :baz => 'qux' }

Как я мог динамически установить ключи и значения, чтобы они стали переменными экземпляра в объекте ...

class Example
  def initialize( hash )
    ... magic happens here...
  end
end

... так, чтобы внутри модели я получил следующее ...

@foo = 'bar'
@baz = 'qux'

?

90
задан Andrew 19 July 2011 в 02:13
поделиться