Flowdock
method

sum

Importance_2
v2_5_5 - Show latest stable - 0 notes - Class: Enumerable
sum(p1 = v1) public

Returns the sum of elements in an Enumerable.

If a block is given, the block is applied to each element before addition.

If enum is empty, it returns init.

For example:

{ 1 => 10, 2 => 20 }.sum {|k, v| k * v }  #=> 50
(1..10).sum                               #=> 55
(1..10).sum {|v| v * 2 }                  #=> 110
[Object.new].each.sum                     #=> TypeError

This method can be used for non-numeric objects by explicit init argument.

{ 1 => 10, 2 => 20 }.sum([])                   #=> [1, 10, 2, 20]
"a\nb\nc".each_line.lazy.map(&:chomp).sum("")  #=> "abc"

Enumerable#sum method may not respect method redefinition of “+” methods such as Integer#+.

Show source
Register or log in to add new notes.