4

特定のオブジェクトのシングルトン メソッドを undef できるようにしたいと考えています。

class A
end

a = A.new
def a.foo
  puts "bar"
end

# undef a.foo here
a.foo # should crash
4

2 に答える 2

11
class << a
  undef foo
end

または:

a.singleton_class.send :undef_method, :foo
于 2013-05-21T13:04:54.973 に答える
4
class A
end

a = A.new
def a.foo
  puts "bar"
end

a.instance_eval { undef :foo }

a.foo # =>  undefined method `foo' for #<A:0x8469c60> (NoMethodError)
于 2013-05-21T13:10:12.930 に答える