新手问题 如何才能使用 RubyMine 找到并阅读 ruby 源码

youfeis · 2013年02月19日 · 最后由 youfeis 回复于 2013年02月20日 · 4976 次阅读

可能是因为搜索的方式不大对头,我始终找不到怎样才能阅读到 ruby 源码的方法。 比如说我想要查看 String 中的 chop 方法是怎样实现的,或者说 BasicObject 这个类是如何 implemented 怎样才能利用我手中的 IDE 看到呢

Alt Shift G 查看到的只是 Rubymine 的 stub,并没有包括每个方法的 implemention

按 Ctrl 点击方法名 不是?

#1 楼 @themorecolor 还是会追踪到 rubymine 的 stub 啊。。还是其实这些方法并没有 ruby 写的 implemention?

def class() #This is a stub, used for indexing end

@youfeis 要善用 Help 啊,Rubymine 的 Help 菜单下有一个 Productivity Guide,里面有各种快捷键的说明

阅读源码的快捷是 cmd + b(Windows 平台你自己查),或者按着 Ctrl 键点击方法名,然后选择 Go To -> Declaration

command + N 是否可以?

Intellij 我就是这么干的,呵呵

#3 楼 @xhj6 可是你看我 2 楼的回复,如果我想查看比如 Object#Class的implemention这样只会把我带到ruubymine的stub里面,是不是因为这是用C语言实现的原生方法,所以没办法在rubymine里面直接查看?

@youfeis 的确,MRI 是 C 语言实现的 Ruby 解释器,我们一般都是安装 Ruby 是安装的编译好的二进制文件不需要源代码了。RubyMine 里面基本上是看的是 ruby 代码,object.rb 中的方法也就是个 stub. 不过你可以查看 ruby doc ,例如用 Dash 看 doc

然后跑到 github 上去看 object.c 源码..

我用 RubyMine 更多的是看各种 Ruby gem 的实现代码,例如:

#6 楼 @wppurking 嗯理解了,ruby 的基本类都是用 C 来实现的

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