可能是因为搜索的方式不大对头,我始终找不到怎样才能阅读到 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,里面有各种快捷键的说明
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 来实现的