本文簡要介紹ruby語言中 Module.undef_method
的用法。
用法
undef_method(symbol) → self
undef_method(string) → self
防止當前類響應對命名方法的調用。將此與 remove_method
進行對比,後者會從特定類中刪除方法; Ruby 仍會在超類和mixed-in 模塊中搜索可能的接收器。 String
參數被轉換為符號。
class Parent
def hello
puts "In parent"
end
end
class Child < Parent
def hello
puts "In child"
end
end
c = Child.new
c.hello
class Child
remove_method :hello # remove from child, still in parent
end
c.hello
class Child
undef_method :hello # prevent any calls to 'hello'
end
c.hello
產生:
In child In parent prog.rb:23: undefined method `hello' for #<Child:0x401b3bb4> (NoMethodError)
相關用法
- Ruby Module.used_modules用法及代碼示例
- Ruby Module.attr_accessor用法及代碼示例
- Ruby Module.method_removed用法及代碼示例
- Ruby Module.private用法及代碼示例
- Ruby Module.deprecate_constant用法及代碼示例
- Ruby Module.instance_method用法及代碼示例
- Ruby Module.class_variables用法及代碼示例
- Ruby Module.included_modules用法及代碼示例
- Ruby Module.singleton_class?用法及代碼示例
- Ruby Module.module_exec用法及代碼示例
- Ruby Module.included用法及代碼示例
- Ruby Module.include?用法及代碼示例
- Ruby Module.ruby2_keywords用法及代碼示例
- Ruby Module.module_eval用法及代碼示例
- Ruby Module.extend_object用法及代碼示例
- Ruby Module.class_exec用法及代碼示例
- Ruby Module.autoload用法及代碼示例
- Ruby Module.ancestors用法及代碼示例
- Ruby Module.class_variable_get用法及代碼示例
- Ruby Module.class_variable_defined?用法及代碼示例
- Ruby Module.method_defined?用法及代碼示例
- Ruby Module.new用法及代碼示例
- Ruby Module.obj ==用法及代碼示例
- Ruby Module.const_missing用法及代碼示例
- Ruby Module.instance_methods用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Module.undef_method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。