Rubyのよく使う定義メソッド確認コード

Posted on 2019/05/12

TOC

よく使うメソッドの確認方法をまとめました。

クラスメソッドとインスタンスメソッドを両方出力するメソッドは見当たらないです。欲しかった・・・

class Test
  class << self
    def class_method1
    end
  end
  def instance_method1
  end
end

puts "--- class ---"
t = Test.new
p Test.methods                 # クラスメソッドのみ
p Test.methods(false)   # クラスメソッドのみ(親クラスを除外)
p Test.public_methods(false) # publicなクラスメソッドのみ(親クラスを除外)
p Test.instance_methods        # インスタンスメソッドのみ
p Test.instance_methods(false)  # インスタンスメソッドのみ(親クラスを除外)

puts "--- instance ---"
p t.methods(true)       # インスタンスメソッドのみ
p t.methods(false)       # インスタンスメソッドのみ
p t.method(:instance_method1).source_location
p t.methods(true).grep(/method1/)