2014-04-02 16 views
-1

我想寫一個腳本,將需要一段時間作爲輸入,並向後以90分鐘的增量輸出時間。我用它來計算我睡着的最佳時間。如何在Ruby中花費時間作爲輸入?

例如,如果我想在12時醒來,該計劃將輸出

10:30 am, 9:00 am, 7:30, am 

,等等。

我至今是:

puts 'what time do you want to wake up?: ' 
time = gets.chomp 

我能在這裏做什麼?

+0

那是什麼'7後放在','的邏輯:30'?你輸出的輸入是什麼,是下午12點還是下午12:00,還是別的什麼?這份名單應該持續多久? – sawa

+0

啊。它應該持續不超過24小時。 –

+1

你必須做更好的陳述這個問題(請編輯,而不是評論)。在你的例子中,下午12:00是「輸入」?如果是這樣,爲什麼你在上午10點30分開始,你按照那個順序對時間進行了什麼解釋?下午12:00是在同一天(上午10:30)還是在前一天結束?如何輸入時間(「中午12點」,「12點」,「下午12點」,「24點」等)? –

回答

1

研究如何在類型之間轉換變量(以某種方式表示它,「施放」它們)。你在這裏有一個字符串輸入。您可以看到通過輸入

puts time.class 

之後的chomp

有很多方法可以進行轉換。所有這些都是Time類的方法。您可以pick the best one for your needs, here.

然後,你可以做的日期數學的東西,如

step_unit = 60 * 90 
# .... 
n.times do 
    print "#{converted_time -= step_unit}, " 
end 

記得先轉換您的時間值,並計算步驟24小時,覆蓋數。


您可以瞭解到,使用Ruby船舶的核心類,here