使用 Ruby inject 将中间值存储到数组中
Store intermediate values into array with Ruby 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]。
感谢任何帮助。
它在我的机器上工作。
您在新的 irb 会话中尝试过吗?
您使用的 ruby 是哪个版本?
$ 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>
我想存储 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]。 感谢任何帮助。
它在我的机器上工作。
您在新的 irb 会话中尝试过吗?
您使用的 ruby 是哪个版本?
$ 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>