Method: Enumerable#average

Defined in:
lib/powerpack/enumerable/average.rb

#average(default = nil) ⇒ Object

Calculates the average of a numeric collection.

Examples:

[1, 2, 3].average #=> 2
[1, 2, 3, 4].average #=> 2.5
[].average #=> nil
[].average(0) #=> 0

Parameters:

  • default (Object) (defaults to: nil)

    an optional default return value if there are no elements. It’s nil by default.

Returns:

  • The average of the elements or the default value if there are no elements.



15
16
17
18
# File 'lib/powerpack/enumerable/average.rb', line 15

def average(default = nil)
  coll_size = to_a.size
  coll_size > 0 ? reduce(&:+) / coll_size.to_f : default
end