使用Ruby中的Enumerate .inject获得奇怪的结果

时间:2014-08-13 17:18:11

标签: ruby

大家好我刚刚在Ruby中注入了一些奇怪的东西。

(1..6).inject(1) { |sum, c| puts c % 2 == 0 ? c + 1 : c * 2 }

输出:

2
3
6
5
10
7

不应该是:

2
3
6
7
14
15

为什么减去1和3而不是添加1?

1 个答案:

答案 0 :(得分:3)

不,这是正确的:

1 * 2 = 2
2 + 1 = 3
3 * 2 = 6
4 + 1 = 5
5 * 2 = 10
6 + 1 = 7