method
sum
v3.1.0 -
Show latest stable
-
0 notes -
Class: Enumerable
- 1.0.0
- 1.1.6
- 1.2.6 (0)
- 2.0.3 (0)
- 2.1.0 (7)
- 2.2.1 (0)
- 2.3.8 (0)
- 3.0.0 (0)
- 3.0.9 (-2)
- 3.1.0 (0)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (-1)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (1)
- 7.1.3.2
- 7.1.3.4
- 7.2.3
- 8.0.0
- 8.1.1
- What's this?
sum(identity = 0, &block)
public
Calculates a sum from the elements. Examples:
payments.sum { |p| p.price * p.tax_rate } payments.sum(&:price)
The latter is a shortcut for:
payments.inject(0) { |sum, p| sum + p.price }
It can also calculate the sum without the use of a block.
[5, 15, 10].sum # => 30 ["foo", "bar"].sum # => "foobar" [[1, 2], [3, 1, 5]].sum => [1, 2, 3, 1, 5]
The default sum of an empty list is zero. You can override this default:
[].sum(Payment.new(0)) { |i| i.amount } # => Payment.new(0)

