method_defined?(name, inherit=true) -> bool
[permalink][rdoc][edit]-
モジュールにインスタンスメソッド name が定義されており、かつその可視性が public または protected であるときに true を返します。
- [PARAM] name:
- Symbol か String を指定します。
- [PARAM] inherit:
- 真を指定するとスーパークラスや include したモジュールで定義されたメソッドも対象になります。
[SEE_ALSO] Module#public_method_defined?, Module#private_method_defined?, Module#protected_method_defined?
module A def method1() end def protected_method1() end protected :protected_method1 end class B def method2() end def private_method2() end private :private_method2 end class C < B include A def method3() end end A.method_defined? :method1 #=> true C.method_defined? "method1" #=> true C.method_defined? "method2" #=> true C.method_defined? "method2", true #=> true C.method_defined? "method2", false #=> false C.method_defined? "method3" #=> true C.method_defined? "protected_method1" #=> true C.method_defined? "method4" #=> false C.method_defined? "private_method2" #=> false