在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