- Published on
Rubyでクラスで使えるメソッドの一覧を取得する方法
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")で定義されているメソッドの一覧を取得しています。
注意点
取得されるメソッドの一覧は、そのクラスおよびその親クラスで定義されたメソッドですが、名前が重複している場合には問題が発生する可能性があります。そのため、完全に正確とは言えない点に留意してください。
この方法を取り急ぎ使用する際には、その制限を理解した上でご利用ください。
- Authors
- Name
- Shou Arisaka / 有坂 翔
- 情報技術者 / Z世代プログラマー / 米大学院にてデータサイエンスを学ぶ
- ITプロフェッショナルとして活動しています。React.js等のモダンなウェブ制作・アプリ開発を得意としており、Java・Python・Rust等のプログラミング言語を用いたソフトウェア開発全般を行っています。
- Github 🐙StackOverflow 🔥Qiita 📝
- TechFreeTools 🔧About.me 👤