在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
的文档?
答案 0 :(得分:5)
inject
在Enumerable
中定义,Array
包含该模块:
Array.included_modules
#=> [Enumerable, Kernel]
API列出了方法列表下面的模块。
顺便说一句,你可以检查一个方法来找到它的起源:
Array.instance_method(:inject)
#=> #<UnboundMethod: Array(Enumerable)#inject>
# ↑ ↑
# Class Module