クラスを再オープンすると元のインスタンスも影響を受ける
# クラスを作る 1.9.3-p194 :001 > class Hoge 1.9.3-p194 :002?> def hoge 1.9.3-p194 :003?> "hoge-----!!!!" 1.9.3-p194 :004?> end 1.9.3-p194 :005?> alias :fuga :hoge 1.9.3-p194 :006?> end => nil # インスタンスを作る 1.9.3-p194 :007 > h = Hoge.new => #<Hoge:0x007fe471182f10> 1.9.3-p194 :008 > h.hoge => "hoge-----!!!!" 1.9.3-p194 :009 > h.fuga => "hoge-----!!!!" # クラス再オープン 1.9.3-p194 :010 > class Hoge 1.9.3-p194 :011?> undef :hoge 1.9.3-p194 :012?> end => nil # 先に作ったインスタンスも影響を受ける 1.9.3-p194 :013 > h.hoge NoMethodError: undefined method `hoge' for #<Hoge:0x007fe471182f10> from (irb):13 from /Users/rightgo09/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>' 1.9.3-p194 :014 > h.fuga => "hoge-----!!!!"
ちゃんとメソッドコールの都度クラス内を確認してるんだなー。