Можно ли найти, в каком файле / строке был определен метод в Ruby (MRI)? - PullRequest
2 голосов
/ 19 июня 2010

Ruby определенно хранит такую ​​информацию во время выполнения, так как она печатается в виде следов стека - но, похоже, нет никакого очевидного способа доступа к ней. Есть ли решение? (кроме поиска источников или передачи бессмысленных аргументов методу в надежде получить трассировку стека)

Ответы [ 2 ]

3 голосов
/ 19 июня 2010

В Ruby 1.9 у вас есть метод # source_location:

require 'yaml'    
p YAML.method(:load).source_location => ["C:/Ruby19/lib/ruby/1.9.1/yaml.rb", 132]

Похоже, есть запрос на обратное портирование source_location до 1.8 (http://redmine.ruby -lang.org / Issues / Show / 2180 ), но я не уверен, если / когда это произойдет. *

1 голос
/ 19 июня 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...