繁体   English   中英

红宝石源代码中的范围类?

[英]Range class in ruby source code?

在哪里可以找到Ruby源代码中Range类的方法。 我特别在寻找Range#last方法。 红宝石-v MRI 1.9.2

您可以在这里找到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

就我个人而言,我非常喜欢查看Rubinius源代码 ,因为我发现它比YARV 更具可读性。 您要查找的方法在kernel / common / range.rb中 ,它只是@end实例变量的获取器:

attr_reader :end
alias_method :last, :end

@end实例变量在initialize方法中设置。 换句话说: last方法仅总是返回您传递给Range.new的值。

请注意,在这种情况下,Rubinius的实现符合Ruby 1.8语言规范,并且尚未更新为Ruby 1.9规范,该规范具有可选的count参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM