私はインターネットで見つけた問題に取り組んでいます:
人体は夜間に90分の睡眠サイクルを経ており、睡眠サイクルの最後に目覚めた方が、睡眠サイクル中に目覚めた場合よりも気分がすっきりします。課題は、起床時間を取り、睡眠に入る可能性のある時間を出力して、睡眠サイクルの終わりに起床するようにするプログラムを作成することです。*
DateTime
この問題への私のアプローチは、それを解析して配列に格納した後、5回時間から90mを引くことです。ただし、私はRailsを初めて使用するため、これを行う方法がよくわかりません。自分の時間を元の形式で表示するにはどうすればよいですか?
これが私がこれまでに持っているものです:
require 'date'
def sleep_time time
a = []
5.times do |i|
multiple = i * 90 * 60
a << time - multiple
end
puts a
end
puts "Enter wake-up time: "
time = DateTime.strptime(gets, '%I:%M %p').to_time
puts time
sleep_time(time)
編集:90mを引く方法を理解しました(秒を使用)。