首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间值数组的Ruby平均值(固定数)

时间值数组的Ruby平均值(固定数)
EN

Stack Overflow用户
提问于 2011-10-19 05:45:19
回答 2查看 1.5K关注 0票数 0

希望获得平均持续时间,其中持续时间的格式为1.day,3.Monters,2.Week。

代码语言:javascript
复制
# provided array
a = [1.day, 3.days, 1.week, 4.days]

# desired output
a.average = "3 days"

我尝试过的任何方法都会在几秒钟内输出结果。例如:

代码语言:javascript
复制
a.inject(:+) = "15 days"
a.inject(:+) / a.size = 324000

我已经查看了Linguistics gem,但它只将值输出为一个数字(32.4万)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-19 06:09:52

代码语言:javascript
复制
def average_days(a)
  seconds = a.inject(:+) / a.size
  minutes = seconds / 60
  days    = (minutes / 1440).round
  "#{days} days"
end
票数 3
EN

Stack Overflow用户

发布于 2011-10-19 05:57:05

代码语言:javascript
复制
> a = [1.day, 3.days, 1.week, 4.days]
> (a.inject(0.0) {|sum, n| sum + n} / a.size) / (60 * 60 * 24)
 => 3.75 

如果你坚持的话。根据需要进行舍入和/或截断。

代码语言:javascript
复制
((a.inject(0.0) {|sum, n| sum + n} / a.size) / (60 * 60 * 24)).days
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7814154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档