陣列我有一個數組,像這樣:["18:45", "18:45", "18:58"]
的Rails:平均的時間
這裏是我使用的平均化時間的方法,包括:如果我運行
def avg_of_times(array_of_time)
size = array_of_time.size
avg_minutes = array_of_time.map do |x|
hour, minute = x.split(':')
total_minutes = hour.to_i * 60 + minute.to_i
end.inject(:+)/size
"%s:%s" % avg_minutes.divmod(60)
end
同上述方法在irb
控制檯,平均出來就好了,但在Rails中,它出現如下:18:148/3
什麼可能導致此方法在rails中無法正常工作?
Rails version: 3.2.14
Ruby version: 1.9.3-p429
適合在'Rails 3.2.12','Ruby 1.9.3p448'中工作的我 –
這太奇怪了,我無法讓它運行來拯救我的生命...如果我運行'3/4'在調試器控制檯它打印'(3/4)' – dennismonsewicz
你有一個整數成爲一個理性(X/Y):3分之148= 49,33#=>如何表示的?你可以試試'avg_minutes.divmod(60).map(&:to_i)'? - 兼對我的作品的Ruby 1.9.3p448 && Rails的3.2.11 – MrYoshiji