来自ruby对象的未定义单例方法
我希望能够在给定对象上取消定义单例方法来自ruby对象的未定义单例方法,ruby,Ruby,我希望能够在给定对象上取消定义单例方法 class A end a = A.new def a.foo puts "bar" end # undef a.foo here a.foo # should crash A类 结束 新的 def a.foo “酒吧” 结束 a、 实例_eval{unde:foo} a、 foo#=>未定义的#方法'foo'(NoMethodError) Haha。。你比我快。。我刚想出来:——)——另外,谢谢你提供了另一种解决方案!(我会尽快接受答案)太好了
class A
end
a = A.new
def a.foo
puts "bar"
end
# undef a.foo here
a.foo # should crash
A类
结束
新的
def a.foo
“酒吧”
结束
a、 实例_eval{unde:foo}
a、 foo#=>未定义的#方法'foo'(NoMethodError)
Haha。。你比我快。。我刚想出来:——)——另外,谢谢你提供了另一种解决方案!(我会尽快接受答案)太好了!更好的语法!
class << a
undef foo
end
a.singleton_class.send :undef_method, :foo
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)