Sha256: 01dc70f727a229d1efdaee7f5afe020187eebd15a464766cf6d9c90113dbdc88
Contents?: true
Size: 438 Bytes
Versions: 3
Compression:
Stored size: 438 Bytes
Contents
module Array::Average def avg return 0 if empty? sum = inject(0) { |s, i| s + i } avg = sum / length return avg if length * avg == sum sum * 1.0 / length end end class Array include Average end module Array::Average::Etest def test_avg assert_equal(1, [ 1 ].avg) assert_equal(2, [ 1, 3 ].avg) assert_equal(0, [ ].avg) assert_equal(2.0 / 3, [ 1, 3, -2 ].avg) end end if VEX_TEST == "base"
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vex-0.6.2 | lib/vex/base/array/avg.rb |
vex-0.4.4 | lib/vex/base/array/avg.rb |
vex-0.4.2 | lib/vex/base/array/avg.rb |