【发布时间】:2012-10-12 07:16:04
【问题描述】:
我有一堆代码要看,现在是调试时间。因为我从来都不是 Ruby 调试器的粉丝,所以我正在寻找一种方法来遍历代码并阅读它。
我要做的是获取定义加载类的文件的位置:
Foo::Bar.create(:param) # how can I know file location in runtime?
对于更小、组织更好的项目,我只会搜索 class Bar 但在这里这是不可能的,因为有许多名为 Bar 的类,而且更糟糕的是,其中一些在同一个命名空间下.我知道,等待发生的麻烦。
注意:我使用的是 Ruby 1.8.7。
【问题讨论】:
-
仅供参考,这与stackoverflow.com/questions/175655/… 非常相似,但他们的解决方案都不适合我。
__file__和__line__不适合我。 -
什么意思,它不起作用?如何 ? (顺便说一句,它是
__FILE__和__LINE__) -
方法
source_location计划在this bug report中向后移植到1.8.8 -
这对代码检查来说很痛苦,但使用调试器很容易。只需在调用站点之前设置一个断点,然后进入该方法,调试器列表就会告诉您到达的位置。仅仅因为您不是粉丝并不意味着您不应该使用可用的工具。
-
@thoferon Link 我已经提到在
Method对象下调用__file__来获取源文件,但它不起作用。 Ofc__FILE__工作 :)
标签: ruby