我试图找到每个数组的总和。
(1..9).to_a.combination(3).to_a.each{ |item| item.inject{:+}}
但是我的代码给出了以下内容。
[[1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 2, 7], [1, 2, 8], [1, 2, 9],
[1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 3, 7], [1, 3, 8], ...
我期待的是这样的。
[6, 7, 8, 9,...]
如何找到每个数组的总和?
答案 0 :(得分:10)
您非常接近,您的代码稍作修改可能有所帮助:
(1..9).to_a.combination(3).map { |a| a.inject(:+) }
答案 1 :(得分:6)
(1..9).to_a.combination(3).to_a.map { |item| item.inject(:+) }
答案 2 :(得分:0)
我找到了#reduce
的另一种方式。
(1..9).to_a.combination(3).map { |item| item.reduce(:+) }