为什么Array#inject被称为注入?

时间:2017-07-18 18:36:55

标签: arrays ruby inject

我理解Array#inject的用法和目的,但为什么称为inject?我不明白在哪里注入了什么。

1 个答案:

答案 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