Rubyチュートリア9章の途中まで

9章が結構重たい...というか,時間がないので,取り敢えず,途中まで呼んでみた
前半はTimeクラスについての解説.

10億(One billion)秒... (もし記録が残っているなら)あなたの生まれた正確な時刻を見つけ、いつ10億秒歳になる(あるいはなった)のかを計算してみなさい。そしてカレンダーに印をつけましょう。

puts "あなたは何年うまれですか?"
year = gets

puts "あなたは何月うまれですか?"
month = gets

puts "あなたは何日うまれですか?"
day = gets

puts "あなたは何時にうまれましたか?"
hour = gets

puts "あなたは何分にうまれましたか?"
minuit = gets

puts "あなたは何秒にうまれましたか?"
second = gets


time = Time.mktime(year,month,day,hour,minuit,second)
puts "あなたの生まれは" + time.to_s + "です."

time += 1000000000

p Time.now
p time

p time > Time.new

if time < Time.new 
  puts "あなたは" + time.to_s + "に10億秒才になりました."
else
  puts "あなたは" + time.to_s + "に10億秒才になります."
end

ハッピーバースデー!  生まれた年、月、そして日を順に訊いてそこから年齢を計算します。そして、過ごしてきた誕生日それぞれに対して大きなおめでとう!をプレゼントしましょう。

puts "あなたは何年うまれですか?"
year = gets

puts "あなたは何月うまれですか?"
month = gets

puts "あなたは何日うまれですか?"
day = gets

#誕生日を設定
time = Time.mktime(year,month,day)

#現在日時と誕生時刻の差分
dif = Time.now - time 

#一日は何秒ですか.
minuit = 24 * 60 * 60
i = 0

while i <= dif
  time += minuit
  i += minuit
  if ((month.to_i == time.month.to_i ) and (day.to_i == time.day.to_i))
    puts "Happy birthday to you in " + time.year.to_s + "!!"
  end
end

ifの条件分でto_iをしていなかったので,変な結果が出続けていてはまったという
悲しい結末...