我理解Array#inject
的用法和目的,但为什么称为inject
?我不明白在哪里注入了什么。
答案 0 :(得分:6)
我更愿意将inject
视为"注入"给定数组中的项目之间的操作并返回计算的最终结果。
(1..5).inject(:+) #=> 15
在我的例子中,它取数字1到5和"注入"他们之间的总和操作,产生1 + 2 + 3 + 4 + 5 = 15
。
此外,它还有reduce
的别名,详见https://ruby-doc.org/core-2.4.1/Enumerable.html#method-i-inject。