Ruby Tips!

RubyのTipsを紹介します

メソッドが存在するか調べる

オブジェクトにメソッドが存在するか調べる

オブジェクトにメソッドが存在するか調べるには、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