Rubyメソッドの実装を参照するためのいくつかの方法
BRANK
こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。普段はRuby on Railsによるバックエンドの開発に携わっています。 先日とあるRubyメソッドの仕様が気になりコードリーディングに挑戦したのですが、当該メソッドがどこに何という名前で定義されているのかわからず、定義にたどり着くのに時間を要してしまいました。 同じようなポイントでつまづいた方、これからコードリーディングを始めようと思っている方のために、本記事ではRubyメソッドの実装を参照する方法をいくつかご紹介したいと思います。 pry-docで参照する リファレンスから参照する Rubyリポジトリをgit c…
1 comments
Rubyで実装された(C言語で実装されているわけではない)メソッドについては、例えば
C
クラスのm
メソッドであれば、C.instance_method(:m).source_location
の返り値にメソッドの定義箇所についての情報が含まれています。
参考:https://docs.ruby-lang.org/ja/latest/method/Method/i/source_location.html