Ну, пройди несколько примеров.
Если 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, мы останавливаем и возвращаем количество часов, которые мы подсчитали.
Цикл, пока их расчета. Это основная математика, с которой вы столкнулись, или код рубина? –
Это очень некорректный код. Где вы его нашли? 'hours, minutes = minutes/60, minutes% 60' делает то же самое. – tadman
«Как Руби знает, сколько часов есть?» - Это не так. Это то, что этот код вычисляет. –