Ruby: dynamically generate attribute_accessor
问题 I'm trying to generate the attr_reader from a hash (with nested hash) so that it mirror the instance_variable creation automatically. here is what i have so far: data = {:@datetime => '2011-11-23', :@duration => '90', :@class => {:@price => '£7', :@level => 'all'}} class Event #attr_reader :datetime, :duration, :class, :price, :level def init(data, recursion) data.each do |name, value| if value.is_a? Hash init(value, recursion+1) else instance_variable_set(name, value) #bit missing: attr