From: Ralph Shnelvar Date: 2009-12-31T07:47:08+09:00 Subject: Object.send(:remove_const, :Polygon) Object.send(:remove_const, :Polygon)

Newbie here.



F:\InstantRails-2.0-win\rails_apps>irb -v

irb 0.9.5(05/04/13)


F:\InstantRails-2.0-win\rails_apps>ruby -v

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]




Consider



irb(main):001:0> class X

irb(main):002:1> end

=> nil

irb(main):003:0>

irb(main):004:0* class Y < X

irb(main):005:1> end

=> nil

irb(main):006:0>

irb(main):007:0* Object.send(:remove_const, :X)

=> X

irb(main):008:0>

irb(main):009:0* X.class

NameError: uninitialized constant X

        from (irb):9

        from :0

irb(main):010:0> Y.class

=> Class

irb(main):011:0> Y.superclass

=> X

irb(main):012:0> Y.superclass.superclass

=> Object

irb(main):013:0>



How can the class X still exist when it has been removed?????