Search code examples
rubyarraysmathsum

How to sum array of numbers in Ruby?


I have an array of integers.

For example:

array = [123,321,12389]

Is there any nice way to get the sum of them?

I know, that

sum = 0
array.each { |a| sum+=a }

would work.


Solution

  • Try this:

    array.inject(0){ |sum, x| sum + x }
    

    See Ruby's Enumerable Documentation

    (note: the 0 base case is needed so that 0 will be returned on an empty array instead of nil)