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をしていなかったので,変な結果が出続けていてはまったという
悲しい結末...