From: Pedro Del Gallego Date: 2007-03-12T07:23:58+09:00 Subject: Metaprogramming and class_eval Hi Whats the differents between this three classes. Why the my_attr_accesor dosent create getters and setter clases. Thanks in advance #---------------------------------------------------------------------- # #---------------------------------------------------------------------- class Class def my_attr_accessor( *args ) args.each do |name| self.class.class_eval do attr_accessor :"#{name}" end end end end => nil class MyNewClass my_attr_accessor :id, :diagram, :telegram end => [:id, :diagram, :telegram] class MyClass attr_accessor :id, :diagram, :telegram end => nil class Another_class def initialize ["id","diagram","telegram"].each do |name| self.class.class_eval do attr_accessor :"#{name}" end end end end => nil mnc = MyNewClass.new => # mc = MyClass.new => # ac = Another_class.new => # ac.diagram => nil mc.diagram -- ------------------------------------- Pedro Del Gallego Email : pedro.delgallego@gmail.com