fork download
  1. # Rubyのclassってdupできたんだ…。
  2.  
  3. class Foo
  4. def hoge
  5. "HOGE"
  6. end
  7. end
  8.  
  9. foo_dup = Foo.dup
  10. foo_dup.instance_eval{ define_method(:piyo){ "PIYO" } }
  11.  
  12. p foo_dup.new.hoge
  13. p Foo.new.hoge
  14. p foo_dup.new.piyo # これはOK。あとでdefine_methodしてる
  15. p Foo.new.piyo # これは例外。もとのFooにはpiyoが定義されていない
  16.  
Runtime error #stdin #stdout #stderr 0.01s 7412KB
stdin
Standard input is empty
stdout
"HOGE"
"HOGE"
"PIYO"
stderr
prog.rb:15:in `<main>': undefined method `piyo' for #<Foo:0x8415624> (NoMethodError)