1. ホーム
  2. ruby

[解決済み] クラスのインスタンスメソッドの一覧を取得する

2022-11-12 19:24:02

質問

クラスがあります。

class TestClass
  def method1
  end

  def method2
  end

  def method3
  end
end

このクラスで自分のメソッドのリストを取得するにはどうしたらよいでしょうか ( method1 , method2 , method3 )?

どのように解決するのですか?

あなたは実際に TestClass.instance_methods に興味がなければ TestClass 自体ができることに興味がなければ、です。

class TestClass
  def method1
  end

  def method2
  end

  def method3
  end
end

TestClass.methods.grep(/method1/) # => []
TestClass.instance_methods.grep(/method1/) # => ["method1"]
TestClass.methods.grep(/new/) # => ["new"]

あるいは methods (ただし instance_methods でない) をオブジェクトに付加します。

test_object = TestClass.new
test_object.methods.grep(/method1/) # => ["method1"]