在哪里可以找到Ruby源代码中Range
类的方法。我特别想找Range#last
方法。 Ruby -v MRI 1.9.2
答案 0 :(得分:6)
你可以在这里找到Ruby源
根目录中有range.c
。
对于源代码中的Range#last
实现,我认为它就在这里:
答案 1 :(得分:2)
就个人而言,我非常喜欢查看Rubinius的source code,因为我发现比YARV更多可读。您要查找的方法位于kernel/common/range.rb,它只是@end
实例变量的getter:
attr_reader :end
alias_method :last, :end
@end
实例变量在initialize
method中设置。换句话说:last
方法只会返回您传递给Range.new
的值。
请注意,在这种情况下,Rubinius的实现符合Ruby 1.8语言规范,尚未更新为Ruby 1.9规范,它具有可选的count
参数。