在Ruby中有一种方法可以告诉方法的定义吗?我正在浏览ruby-guide,并且有一行代码可以显示Post.all
如何判断all
的定义?
答案 0 :(得分:17)
如果您想知道定义方法的文件和行,请使用
Post.method(:all).source_location
如果是C方法,它会为您[file, line]
或nil
。
答案 1 :(得分:7)
可以通过Method对象使用方法。在那时,作为owner
属性。所以你可以这样做:
puts Post.method(:all).owner
这会告诉你定义方法的模块/类。