gpt4 book ai didi

ruby - 是否有可能在 Ruby (MRI) 中找到在哪个文件/行中定义了一个方法?

转载 作者:数据小太阳 更新时间:2023-10-29 08:41:39 26 4
gpt4 key购买 nike

Ruby 肯定会在运行时存储此类信息,因为它会打印在堆栈跟踪中 - 但似乎没有任何明显的方法来访问它。有解决办法吗? (除了 grep 源,或将无意义的参数传递给方法以希望获得堆栈跟踪)

最佳答案

在 Ruby 1.9 中,你有 Method#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 ) 的请求,但我不确定是否/何时会发生。

关于ruby - 是否有可能在 Ruby (MRI) 中找到在哪个文件/行中定义了一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com