はじめに タイトル通り。もう何回か自作してる気がするので、そろそろメモしておく。 実装 Arrayクラスを書き換えます。 class Array def sum reduce(:+) end def mean sum.to_f / size end def var m = mean reduce(0) { |a,b| a + (b - m) ** 2 } / (size - 1) end def sd Math.sqrt(var) end end 使い方 基本統計量は次のように計算できます。 a = (1..10).to_a # => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] a.min # Rubyの標準メソッド # => 1 a.max # Rubyの標準メソッド # => 10 a.sum # => 55 a.mean # => 5.5 a.var # => 9