我有一个 A 类
class A def a puts 'this is method a' end def self.b puts 'this is method b' end end
我可以删除方法 a
a = A.send :remove_method, :a A.new.methods(false) # => []
然而我没有找到删除类方法的方式
class << A undef :b end
类方法就是类对象的单例类的实例方法,所以同理 A.singleton_class.send :remove_method, :b
哦哦,还有 我以为:remove_method 返回的是删除掉的方法,结果不是,我应该用哪个方法获得被删除的方法?
删除前使用 a = A.new.method(:a) 获取
感谢