新手问题 刚接触实际工作中的 ruby 编程 有问题想请教

mmap · 2012年11月04日 · 最后由 RedHai 回复于 2012年11月05日 · 2556 次阅读

在看别人的代码的时候 有一个很大的不便 就是“找到某个方法或变量在哪里定义”很不方便,而且很多时候分不清这个方法(变量)在父类还是在子类定义 我在用 emacs 的 ruby-mode,有没有比较好的方式?

常用的是 ri 吧。

rubymine 应该能帮你找吧,听说,我也没用过

可以试试 rubymine 这个 IDE,按住 ctr 后点方法或者类的时可以查看到其定义。

pry 王道

我用一个比较土的方法:一般情况下,方法定义都是 def 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 也是一个选择

需要 登录 后方可回复, 如果你还没有账号请 注册新账号