使用Ruby注入将中间值存储到数组中

时间:2016-09-14 17:29:24

标签: inject

我想将ruby注入值存储到数组中我找到了一个很好的例子(在网站http://matthewcarriere.com/2008/06/23/using-select-reject-collect-inject-and-detect/上),但它返回了Fixnum而不是数组。

 [1,2,3,4].inject([]) {|acc,n| acc << n+n}

这是返回262144.但我希望数组为[2,4,6,8]。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

它适用于我的机器。

您是否在新的irb会话中尝试过它?

您使用的是哪个版本的红宝石?

$ ruby  --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

$ irb --version
irb 0.9.6(09/06/30)

$ irb
irb(main):001:0> [1,2,3,4].inject([]) {|acc,n| acc << n+n}
=> [2, 4, 6, 8]
irb(main):002:0>