Sha256: 2f1a6f900b71366eb91ce59511dcc3a11e342f4c7bdf17bbe9998ccf13fa8443

Contents?: true

Size: 385 Bytes

Versions: 30

Compression:

Stored size: 385 Bytes

Contents

# encoding: utf-8

# Array
class Array
  # return average
  #
  # === Example
  #
  #   [*1..6].average # => 3.5
  #   [1.5, 2.5].average # => 2.0
  #   [*'a'..'z'].average # => raise TypeError
  #
  def average
    fail TypeError, 'you have to use elements that is Numeric' if any? { |v|!v.is_a? Numeric }
    reduce(0.0) { |r, v|r = r + v.to_f; r } / size
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
tbpgr_utils-0.0.150 lib/open_classes/array/average.rb
tbpgr_utils-0.0.149 lib/open_classes/array/average.rb
tbpgr_utils-0.0.148 lib/open_classes/array/average.rb
tbpgr_utils-0.0.147 lib/open_classes/array/average.rb
tbpgr_utils-0.0.146 lib/open_classes/array/average.rb
tbpgr_utils-0.0.145 lib/open_classes/array/average.rb
tbpgr_utils-0.0.144 lib/open_classes/array/average.rb
tbpgr_utils-0.0.143 lib/open_classes/array/average.rb
tbpgr_utils-0.0.142 lib/open_classes/array/average.rb
tbpgr_utils-0.0.141 lib/open_classes/array/average.rb
tbpgr_utils-0.0.140 lib/open_classes/array/average.rb
tbpgr_utils-0.0.139 lib/open_classes/array/average.rb
tbpgr_utils-0.0.138 lib/open_classes/array/average.rb
tbpgr_utils-0.0.137 lib/open_classes/array/average.rb
tbpgr_utils-0.0.136 lib/open_classes/array/average.rb
tbpgr_utils-0.0.135 lib/open_classes/array/average.rb
tbpgr_utils-0.0.134 lib/open_classes/array/average.rb
tbpgr_utils-0.0.133 lib/open_classes/array/average.rb
tbpgr_utils-0.0.132 lib/open_classes/array/average.rb
tbpgr_utils-0.0.131 lib/open_classes/array/average.rb