Ruby クラス メソッド 一覧 取得方法

Rubyでクラスで使えるメソッドの一覧を取得する方法

Rubyで特定のクラスで使用可能なメソッドの一覧を取得する方法について、例を交えて説明します。

Shou Arisaka
1 分で読める
2017年6月27日

Rubyでクラスで使えるメソッドの一覧を取得する方法

特定のRubyクラスで使用可能なメソッドの一覧を取得する方法について、以下に例を示します。

require_relative '../lib/require'
# require 'csv'
# require 'yaml'

def original_methods(target_class="CSV")
  eval %(@target_class_methods=#{target_class}.methods)
  @target_class_ancestors=['Module','Class','Object','Kernel','BasicObject']
  @target_class_ancestors.each {|ancestor|
    eval %(@target_class_methods-=#{ancestor}.methods)
  }
  return @target_class_methods
end

puts original_methods("YAML")

この例では、指定したクラス(ここでは”YAML”)で定義されているメソッドの一覧を取得しています。

注意点

取得されるメソッドの一覧は、そのクラスおよびその親クラスで定義されたメソッドですが、名前が重複している場合には問題が発生する可能性があります。そのため、完全に正確とは言えない点に留意してください。

この方法を取り急ぎ使用する際には、その制限を理解した上でご利用ください。

この記事をシェア

Shou Arisaka 2017年6月27日

🔗 リンクをコピー