在irb我做
a = [1, 2, 3]
#=> [1, 2, 3]
a.class
#=> Array
a.methods.sort
#=> [:!, :!=, ..., :inject, ...]
并得到它a有一个方法inject,但在http://www.ruby-doc.org/core-2.0/Array.html我找不到关于inject. 为什么?它是 Ruby API 中的错误吗?
我在哪里可以找到有关 Array 的实例方法的文档inject?
在irb我做
a = [1, 2, 3]
#=> [1, 2, 3]
a.class
#=> Array
a.methods.sort
#=> [:!, :!=, ..., :inject, ...]
并得到它a有一个方法inject,但在http://www.ruby-doc.org/core-2.0/Array.html我找不到关于inject. 为什么?它是 Ruby API 中的错误吗?
我在哪里可以找到有关 Array 的实例方法的文档inject?
inject中定义Enumerable,Array包括该模块:
Array.included_modules
#=> [Enumerable, Kernel]
API 列表包括方法列表下方的模块。
顺便说一句,您可以检查一种方法来查找其来源:
Array.instance_method(:inject)
#=> #<UnboundMethod: Array(Enumerable)#inject>
# ↑ ↑
# Class Module