Ruby 3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Methodクラス > source_location
source_location -> [String, Integer] | nil
[permalink][rdoc]ソースコードのファイル名と行番号を配列で返します。
その手続オブジェクトが ruby で定義されていない(つまりネイティブである)場合は nil を返します。
[SEE_ALSO] Proc#source_location
# ------- /tmp/foo.rb ---------
class Foo
def foo; end
end
# ----- end of /tmp/foo.rb ----
require '/tmp/foo'
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.source_location # => ["/tmp/foo.rb", 2]
method(:puts).source_location # => nil