開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の12章(新しいクラスのオブジェクト), 12.6(練習問題の続き)バースデーヘルパーを解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
バースデーヘルパー
コード(TextWrangler)
#!/usr/bin/env ruby
#encoding: utf-8
file_name = 'birth_day_helper'
birth_day = {}
File.read(file_name).each_line do |line|
line.chomp
name, date, year = line.split(',')
month, day = date.split
birth_day[name] = Time.gm(year, month, day)
end
td = Time.new
puts "今日の日付: #{td}"
while true
puts '名前を入力(空文字で終了)'
name = gets.chomp
break if name == ''
d = birth_day[name]
if d
age = td.year - d.year
age -= 1 if td.day < d.day && td.month <= d.month
puts "誕生日: #{d} 年齢: #{age}"
else
puts 'その人物の誕生日は分かりません。'
end
end
入出力結果(Terminal)
$ ./ruby_program.rb 今日の日付: Mon Feb 20 17:16:17 +0900 2012 名前を入力(空文字で終了) Christopher Plummer 誕生日: Sat Feb 19 00:00:00 UTC 2000 年齢: 12 名前を入力(空文字で終了) Christopher Walken, その人物の誕生日は分かりません。 名前を入力(空文字で終了) Christopher Walken 誕生日: Sun Feb 20 00:00:00 UTC 2000 年齢: 12 名前を入力(空文字で終了) The King of Spain 誕生日: Mon Feb 21 00:00:00 UTC 2000 年齢: 11 名前を入力(空文字で終了) $
本書を続けつつ、上記の本を入手したらそっちに切り替え。
0 コメント:
コメントを投稿