メソッドが存在するか調べる
オブジェクトにメソッドが存在するか調べる
オブジェクトにメソッドが存在するか調べるには、Object#respond_to?
を使う。
class Clazz def foo; end end obj = Clazz.new p obj.respond_to?(:foo) #=> true p obj.respond_to?(:bar) #=> false
クラスにメソッドが存在するか調べる
クラスにメソッドが存在するか調べるには、Module#method_defined?
を使う。
class Clazz def foo; end end p Clazz.method_defined?(:foo) #=> true p Clazz.method_defined?(:bar) #=> false