gpt4 book ai didi

ruby - 在哪里可以看到我当前安装的 ruby​​ 中类的源代码?

转载 作者:太空宇宙 更新时间:2023-11-03 17:39:49 24 4
gpt4 key购买 nike

我是 ruby​​ 的新手,但我已经使用 RVM 安装了各种版本的 Ruby,这是我的 LOAD_PATH 的输出

ruby-1.9.2-p136 :001 > puts $LOAD_PATH
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/i686-linux
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby/1.9.1
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby/1.9.1/i686-linux
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1
/home/jose/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/i686-linux

好的。所以这里的问题是,在这些目录中的什么地方可以看到 Array 或 Time 等类的源代码? (我知道,这是一个非常 n00b 的问题,但我需要知道。)

很长一段时间以来,我一直需要查看 Array 的源代码。

提前致谢!

附言。如果我想成为更好的 ruby​​ 程序员,你推荐我看哪门类(class)?

最佳答案

到目前为止,我发现的最酷的代码浏览小工具是pry:
http://pry.github.com/

这是一个 irb 的替代品,有很多好东西。一个示例 session ,您可以看到如何使用它浏览代码(您还将看到它可以显示类的 C 实现):

> pry
pry(main)> show-
show-command show-doc show-input show-method show-source
pry(main)> show-source Array

From: object.c in Ruby Core (C Method):
Number of lines: 6

static VALUE
rb_f_array(obj, arg)
VALUE obj, arg;
{
return rb_Array(arg);
}
pry(main)> cd Array
pry(Array):1> show-source each

From: array.c in Ruby Core (C Method):
Number of lines: 12

VALUE
rb_ary_each(ary)
VALUE ary;
{
long i;

RETURN_ENUMERATOR(ary, 0, 0);
for (i=0; i<RARRAY(ary)->len; i++) {
rb_yield(RARRAY(ary)->ptr[i]);
}
return ary;
}
pry(Array):1>

Pry当然也可以列出类的Ruby源

另一个用于浏览 Ruby C 源代码的有用工具是 Ruby 代码交叉引用:
http://rxr.whitequark.org/

然而现在它似乎在下降,但希望它很快就会再次上升。

关于ruby - 在哪里可以看到我当前安装的 ruby​​ 中类的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com