Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Moduleクラス > method_defined?
method_defined?(name) -> bool
[permalink][rdoc]モジュールにインスタンスメソッド name が定義されており、 かつその可視性が public または protected であるときに true を返します。
[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? "method3" #=> true
C.method_defined? "protected_method1" #=> true
C.method_defined? "method4" #=> false
C.method_defined? "private_method2" #=> false