0
以下は配列合計アルゴリズムのために提出したコードです。この場合、私はそれぞれを使用しなければなりませんでしたが、これを行うより良い方法があるように感じます...配列の合計を.eachで解決する最善の方法
numbers = [5, 17, 2, 899, 101, 4, 66, 123, 98]
sum = 0
index = 0
numbers.each do |number|
sum = sum + numbers[index]
index += 1
end
puts sum
を行うことができます(:+)#=> 1315年。 –
私は詳しく述べるべきです。 'numbers.reduce(:+)'は 'numbers.reduce {| total、n |と同じ結果を返します。合計+ n} ' [Enumerable#reduce](http://ruby-doc.org/core-2.3.0/Enumerable.html#method-i-reduce)(別名 'inject')を参照してください。なぜこれが本当であるのかを説明するのは時期尚早です。今のところ、前者は後者を書くための簡略な方法だと考えてください。 'reduce'のレシーバは配列(' numbers')または列挙子( 'numbers.each')です。後者は前者の要素を生成するため、いずれかを使用することができます。 IRBで 'e = numbers.each'と' e.to_a'を実行してみてください。 –