有人可以請向我解釋這是如何工作的?解釋時間轉換爲分鐘和小時
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如何知道有多少小時? - 它沒有。這就是代碼計算的內容。 –