如何从数组中求平均值?
如果我有一个数组:
[0,4,8,2,5,0,2,6]
平均得到3.375。
如何从数组中求平均值?
如果我有一个数组:
[0,4,8,2,5,0,2,6]
平均得到3.375。
当前回答
a = [0,4,8,2,5,0,2,6]
a.instance_eval { reduce(:+) / size.to_f } #=> 3.375
不使用instance_eval的版本如下:
a = [0,4,8,2,5,0,2,6]
a.reduce(:+) / a.size.to_f #=> 3.375
其他回答
[1,2].tap { |a| @asize = a.size }.inject(:+).to_f/@asize
简短,但使用实例变量
a = [0,4,8,2,5,0,2,6]
sum = 0
a.each { |b| sum += b }
average = sum / a.length
我认为最简单的答案是
list.reduce(:+).to_f / list.size
打印数组。求和/数组。计数是我做到的方式
无需重复数组(例如,非常适合一行程序):
[1, 2, 3, 4].then { |a| a.sum.to_f / a.size }