From: "Wolfgang Nádasi-Donner" Date: 2007-06-29T08:04:35+09:00 Subject: Name of Classes Moin, moin! During a discussion about dynamic class construction in german Ruby-Forum I recognized strange behavior of the name associated to the class. Example (Ruby OneClickInstaller-186-25): >>>>> snip >>>>> irb(main):001:0> a = Class.new => # irb(main):002:0> a.new.class => # irb(main):003:0> A = a => A irb(main):004:0> AA = a => A irb(main):005:0> AA.new.class => A irb(main):006:0> a.new.class => A irb(main):007:0> class Object; remove_const(:A); end => A irb(main):008:0> A NameError: uninitialized constant A from (irb):8 irb(main):009:0> a.new.class => A irb(main):010:0> class A irb(main):011:1> def hi irb(main):012:2> puts "hi!" irb(main):013:2> end irb(main):014:1> end => nil irb(main):015:0> A.new.hi hi! => nil irb(main):016:0> A.new.class => A irb(main):017:0> a => A irb(main):018:0> a.new.class => A irb(main):019:0> a.new.hi NoMethodError: undefined method `hi' for # from (irb):19 >>>>> snap >>>>> For me it looks like an error that the name "A" will still be actual after the deletion of the constant. Wolfgang N�dasi-Donner