0

RangeRubyのソースコードのクラスのメソッドはどこにありますか。特に方法を探していRange#lastます。Ruby -v MRI 1.9.2

4

2 に答える 2

6

ここでRubyソースを見つけることができます

https://github.com/ruby/ruby/

range.cルートディレクトリにがあります。

ソースでのRange#last実装については、ここにあると思います。

https://github.com/ruby/ruby/blob/trunk/range.c#L602

http://www.ruby-doc.org/core-1.9.3/Range.html#method-i-last

于 2012-07-14T05:30:25.850 に答える
2

個人的には、 Rubiniusソースコードを見るのが非常に好きです。YARVよりもはるかに読みやすいからです。探しているメソッドはkernel/common / range.rb@endにあり、インスタンス変数のゲッターにすぎません。

attr_reader :end
alias_method :last, :end

@endインスタンス変数はinitializeメソッドで設定されます。言い換えると、lastメソッドは常に、渡した値を返すだけですRange.new

countこの場合、Rubiniusの実装はRuby 1.8言語仕様に準拠しており、オプションのパラメーターを持つRuby1.9仕様にはまだ更新されていないことに注意してください。

于 2012-07-14T09:50:04.363 に答える