为什么 Array#inject 被称为注入?
Why is Array#inject called inject?
我明白Array#inject
的用法和用途,但为什么叫inject
?我不明白在哪里注入了什么。
我更愿意把inject
想成"injecting"对给定数组内的项进行运算,并返回计算的最终结果。
(1..5).inject(:+) #=> 15
在我的示例中,它将数字 1 到 5 和 "injects" 在它们之间进行求和运算,结果是 1 + 2 + 3 + 4 + 5 = 15
。
此外,它的别名是 reduce
,如 https://ruby-doc.org/core-2.4.1/Enumerable.html#method-i-inject 中所述。
我明白Array#inject
的用法和用途,但为什么叫inject
?我不明白在哪里注入了什么。
我更愿意把inject
想成"injecting"对给定数组内的项进行运算,并返回计算的最终结果。
(1..5).inject(:+) #=> 15
在我的示例中,它将数字 1 到 5 和 "injects" 在它们之间进行求和运算,结果是 1 + 2 + 3 + 4 + 5 = 15
。
此外,它的别名是 reduce
,如 https://ruby-doc.org/core-2.4.1/Enumerable.html#method-i-inject 中所述。