JP Coders

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
  • avatar
  • Name
  • 情報技術者 / Z世代プログラマー / 米大学院にてデータサイエンスを学ぶ

  • ITプロフェッショナルとして活動しています。React.js等のモダンなウェブ制作・アプリ開発を得意としており、Java・Python・Rust等のプログラミング言語を用いたソフトウェア開発全般を行っています。

お手伝いできますか? 🤝

他の方法でのご連絡をご希望ですか?
web制作ご依頼受付中

本記事で掲載している情報やコードは執筆時点のものであり、動作を保証するものではありません。 自己責任のもと、プログラムの実行や情報の利用にあたってはご注意ください。


本記事には提携する企業の広告が含まれる場合があります。