在看别人的代码的时候 有一个很大的不便 就是“找到某个方法或变量在哪里定义”很不方便,而且很多时候分不清这个方法(变量)在父类还是在子类定义 我在用 emacs 的 ruby-mode,有没有比较好的方式?
常用的是 ri 吧。
rubymine 应该能帮你找吧,听说,我也没用过
可以试试 rubymine 这个 IDE,按住 ctr 后点方法或者类的时可以查看到其定义。
pry 王道
我用一个比较土的方法:一般情况下,方法定义都是 def method_name 的形式,那么可以在源码中搜索 def method_name 。找不到有可能是动态生成,一般都用符号,那就搜一下符号 :method_name 。如果还找不到,就要摸索了。
def method_name
:method_name
搜出来可能有重复的,根据上下文判断了。我一般用 ack 或者 grep,结合 Ctrl+F 搜索
这个要看你用的什么工具和平台了,windows 还是 linux。 一般 IDE 会提供 ctrl+ 点击来跳转到方法的定义,如果是 linux+console,那就用 grep。 grep -ilf 'def method_name .
Emacs 可以使用 ctags 定位,虽然不是非常准确,但是我个人觉得还够用吧。
Vim 下用 ctags 定位也可以,grep 也是一个选择