希望获得平均持续时间,其中持续时间的格式为1.day,3.Monters,2.Week。
# provided array
a = [1.day, 3.days, 1.week, 4.days]
# desired output
a.average = "3 days"我尝试过的任何方法都会在几秒钟内输出结果。例如:
a.inject(:+) = "15 days"
a.inject(:+) / a.size = 324000我已经查看了Linguistics gem,但它只将值输出为一个数字(32.4万)
发布于 2011-10-19 06:09:52
def average_days(a)
seconds = a.inject(:+) / a.size
minutes = seconds / 60
days = (minutes / 1440).round
"#{days} days"
end发布于 2011-10-19 05:57:05
> a = [1.day, 3.days, 1.week, 4.days]
> (a.inject(0.0) {|sum, n| sum + n} / a.size) / (60 * 60 * 24)
=> 3.75 如果你坚持的话。根据需要进行舍入和/或截断。
((a.inject(0.0) {|sum, n| sum + n} / a.size) / (60 * 60 * 24)).dayshttps://stackoverflow.com/questions/7814154
复制相似问题