2012-01-15 6 views

答えて

4

あなたはこれを行うことができます。これで

@test.inject(:+) 
+0

は初期値としてIDを必要とします: '@ test.inject(0、:+)' – tokland

+1

ルビではなく、初期値を指定しないと、コレクションの最初の値が初期値として使用されます:http ://ruby-doc.org/core-1.9.3/Enumerable.html –

+0

@tokland: "メモの初期値を明示的に指定しないと、コレクションの最初の要素がメモの初期値として使用されます" ([docs](http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-inject) – steenslag

0
sum = 0 
@test.each { |el| sum+=el } 
+0

は大丈夫だという多くの(命令的な)言語では、Rubyでは(機能的な) 'Enumerable#inject'が慣用的な解決策です。 – tokland

関連する問題