2017-02-14 8 views
-3

Может кто-нибудь объяснить мне, как это работает?Объясните время Преобразование в минуты и часы

While minutes >=60... 

Как Руби знает, сколько часов есть ???

def time_conversion(minutes) 
    hours = 0 

    while minutes >= 60 
    hours = hours + 1 
    minutes = minutes - 60 
    end 
    return hours 
end 
+0

Цикл, пока их расчета. Это основная математика, с которой вы столкнулись, или код рубина? –

+0

Это очень некорректный код. Где вы его нашли? 'hours, minutes = minutes/60, minutes% 60' делает то же самое. – tadman

+0

«Как Руби знает, сколько часов есть?» - Это не так. Это то, что этот код вычисляет. –

ответ

0

Как об этом простым способом:

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" 
+0

это имеет смысл для меня. Благодарю. Я просто не получаю другой ... – imperfectskillz

+0

@imperfectskillz: Если этот ответ поможет вам решить вашу проблему, тогда вы можете отметить (пометить) его как ответ –

2

Ну, пройди несколько примеров.

Если 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, мы останавливаем и возвращаем количество часов, которые мы подсчитали.

+0

Я просто не понимаю, как Рубин знает соотношение между минутами и часами. как он знает, что есть 60 минут в час? – imperfectskillz

+0

@imperfectskillz Мы сказали это так, написав 60. – bejado

+0

где говорится часы = 60 минут? – imperfectskillz

 Смежные вопросы

  • Нет связанных вопросов^_^