lam*_*ade 7 ruby ruby-on-rails
在Ruby中有一种方法可以告诉定义方法的位置吗?我正在浏览ruby-guide,并且有一行代码可以读取Post.all如何判断all定义的位置?
Rea*_*onk 17
如果您想知道定义方法的文件和行,请使用
Post.method(:all).source_location
Run Code Online (Sandbox Code Playgroud)
它会给你[file, line]或者nil它是一个C方法.
可以通过Method对象使用方法.在那一点作为一个owner属性.所以你可以这样做:
puts Post.method(:all).owner
Run Code Online (Sandbox Code Playgroud)
这将告诉您定义方法的模块/类.
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |