12FF5B8

hico_horiuchiの技術系な覚え書き.

RubyのArrayに平均値のメソッドを追加

研究でRubyを使って実装をしていて,Arrayクラスに平均値を求めるメソッドがなくて驚いた.
(Rubyは何でもあると思っていた.)

凄く簡単に実現できそうだったので,自分でやってみた.

実装

オーソドックスに配列自身の要素の和を求めて,要素数で割り実数で返す.

class Array
  def average
    total = 0.0
    self.each do |item|
      total += item
    end
    total / self.size
  end
end

問題点

配列に文字列など,数字以外の要素が含まれている場合にエラーを吐く.
数字以外の場合は0を返す,混在している場合は数字のみの平均を返す,とかした方が良いのかな.
今回は用途が限定されてたので,例外処理は放置.