有人可以请向我解释这是如何工作的?解释时间转换为分钟和小时
While minutes >=60...
Ruby如何知道有多少小时?
def time_conversion(minutes)
hours = 0
while minutes >= 60
hours = hours + 1
minutes = minutes - 60
end
return hours
end
有人可以请向我解释这是如何工作的?解释时间转换为分钟和小时
While minutes >=60...
Ruby如何知道有多少小时?
def time_conversion(minutes)
hours = 0
while minutes >= 60
hours = hours + 1
minutes = minutes - 60
end
return hours
end
这个怎么样简单的方法:
def time_conversion(minutes)
hours = (minutes/60 % 60)
return hours
end
> time_conversion(125)
#=> 2
> time_conversion(165)
#=> 2
现在,让我们将它转换为"HH:MM"
def time_conversion(minutes)
hh_mm = [minutes/60 % 60, minutes % 60].map { |t| t.to_s.rjust(2,'0') }.join(':')
return hh_mm
end
> time_conversion(125)
#=> "02:05"
> time_conversion(165)
#=> "02:45"
这对我有意义。谢谢。我只是没有得到另一个... – imperfectskillz
@imperfectskillz:如果这个答案有助于你解决你的问题,那么你可以标记(勾)它作为回答 –
那么,通过几个例子。
如果minutes
是125,应该返回多少个小时? 125 - 60 - 60 = 5
。有两个60年代,所以两个小时。
如果minutes
为65,应该返回多少个小时? 65 - 60 = 5
。只有一个60,所以一个小时。
Ruby代码做同样的事情,计算它可以减去60多少次,直到它不能再减去(即减去另一个60会导致负数)。它通过while
循环完成。
的两行while
循环中:
hours = hours + 1
minutes = minutes - 60
更新hours
和minutes
变量,就像我们在我们的例子一样。当minutes
小于60时,我们停止并返回我们计算的总小时数。
我只是不明白红宝石如何知道分钟和小时之间的相关性。它怎么知道一小时内有60分钟? – imperfectskillz
@imperfectskillz我们通过写作60告诉了它。 – bejado
它说小时= 60分钟? – imperfectskillz
的while循环计算它们。这是你遇到的基本数学问题,还是Ruby代码? –
这是一些非常有缺陷的代码。你在哪里找到它? '小时,分钟=分钟/ 60分钟%60'这个工作完全一样。 – tadman
“Ruby如何知道有多少小时? - 它没有。这就是代码计算的内容。 –