1

私は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

Ok。したがって、ここでの質問は、これらのディレクトリ内のどこで、ArrayやTimeなどのクラスのソースコードを確認できるかということです。(私は知っています、それは非常にn00bの質問ですが、私は知る必要があります。)

私は長い間、配列のソースを調べる必要がありました。

前もって感謝します!

PS。私がより優れたルビープログラマーになりたいのであれば、どのクラスを見ることをお勧めしますか?

4

2 に答える 2

5

私がこれまでに見つけたコードブラウジング用の最もクールなガジェットは次のとおりです:http pry
//pry.github.com/

irbたくさんのグッズに取って代わるものです。それを使用してコードを参照する方法を確認できるセッションの例(および、クラスの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ソースを参照するためのもう1つの便利なツールは、Rubyコードの相互参照です:http:
//rxr.whitequark.org/

ただし、現在はダウンしているようですが、近いうちに再びアップすることを願っています。

于 2011-08-18T15:59:24.817 に答える
0

配列はパフォーマンス上の理由から部分的にCで実装されているため、配列の場合はRubyソースコードをダウンロードする必要があります。

于 2011-08-18T15:46:19.843 に答える