エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rubyでメソッドの定義場所を取得する方法 -- ぺけみさお
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyでメソッドの定義場所を取得する方法 -- ぺけみさお
gemを使っていたり、扱っているソースが大規模だったりする時に、メソッドの定義場所を調査したい場合が... gemを使っていたり、扱っているソースが大規模だったりする時に、メソッドの定義場所を調査したい場合がある。 RubyにはProc#source_locationで、メソッドの定義場所を取得することができる。 使い方は簡単で、調査対象のメソッドをいったんMethodオブジェクトに変換し、source_locationメソッドを呼びだせば良い。 例えば標準添付ライブラリのopen-uriはKernel#openを再定義することで、URIを直接openすることを可能にする。 この時にKernel#openの実体がどこで定義されているのか調べてみよう。 以下のコードのとおり、Kernel#openはopen-uriの27行目で再定義されていることが確認できる。 require 'open-uri' method = Kernel.method(:open) # Kernel#openのMethod