開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の13章(新しいクラスの作成と既存クラスの変更), 13.6(練習問題の続き)オレンジの木の拡張を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
オレンジの木の拡張
コード(TextWrangler)
#!/usr/bin/env ruby #encoding: utf-8 class OrangeTree def initialize puts 'オレンジの木を植えました' @height = 0 @age = 0 @alive = true @orange = 0 end def height @height end def one_year_passes return '木はもう枯れています。' if !@alive @orange = 0 @age += 1 if @age > 10 @height = "ぼろぼろ" @alive = false return '1年経過しました。木は枯れてしまいました' else @height += 10 @orange = @age * 2 if @age >= 5 return "1年経過しました。" end end def count_the_orange @orange end def pick_an_orange if @orange >= 1 @orange -= 1 return "おいしい!(残り#{@orange}個)" else return "今年はもう採れる実がありません" end end end ot = OrangeTree.new 12.times do puts "高さ: #{ot.height} 実: #{ot.count_the_orange}個" (ot.count_the_orange + 1).times do puts ot.pick_an_orange end puts ot.one_year_passes end
入出力結果(Terminal)
$ ./ruby_program.rb オレンジの木を植えました 高さ: 0 実: 0個 今年はもう採れる実がありません 1年経過しました。 高さ: 10 実: 0個 今年はもう採れる実がありません 1年経過しました。 高さ: 20 実: 0個 今年はもう採れる実がありません 1年経過しました。 高さ: 30 実: 0個 今年はもう採れる実がありません 1年経過しました。 高さ: 40 実: 0個 今年はもう採れる実がありません 1年経過しました。 高さ: 50 実: 10個 おいしい!(残り9個) おいしい!(残り8個) おいしい!(残り7個) おいしい!(残り6個) おいしい!(残り5個) おいしい!(残り4個) おいしい!(残り3個) おいしい!(残り2個) おいしい!(残り1個) おいしい!(残り0個) 今年はもう採れる実がありません 1年経過しました。 高さ: 60 実: 12個 おいしい!(残り11個) おいしい!(残り10個) おいしい!(残り9個) おいしい!(残り8個) おいしい!(残り7個) おいしい!(残り6個) おいしい!(残り5個) おいしい!(残り4個) おいしい!(残り3個) おいしい!(残り2個) おいしい!(残り1個) おいしい!(残り0個) 今年はもう採れる実がありません 1年経過しました。 高さ: 70 実: 14個 おいしい!(残り13個) おいしい!(残り12個) おいしい!(残り11個) おいしい!(残り10個) おいしい!(残り9個) おいしい!(残り8個) おいしい!(残り7個) おいしい!(残り6個) おいしい!(残り5個) おいしい!(残り4個) おいしい!(残り3個) おいしい!(残り2個) おいしい!(残り1個) おいしい!(残り0個) 今年はもう採れる実がありません 1年経過しました。 高さ: 80 実: 16個 おいしい!(残り15個) おいしい!(残り14個) おいしい!(残り13個) おいしい!(残り12個) おいしい!(残り11個) おいしい!(残り10個) おいしい!(残り9個) おいしい!(残り8個) おいしい!(残り7個) おいしい!(残り6個) おいしい!(残り5個) おいしい!(残り4個) おいしい!(残り3個) おいしい!(残り2個) おいしい!(残り1個) おいしい!(残り0個) 今年はもう採れる実がありません 1年経過しました。 高さ: 90 実: 18個 おいしい!(残り17個) おいしい!(残り16個) おいしい!(残り15個) おいしい!(残り14個) おいしい!(残り13個) おいしい!(残り12個) おいしい!(残り11個) おいしい!(残り10個) おいしい!(残り9個) おいしい!(残り8個) おいしい!(残り7個) おいしい!(残り6個) おいしい!(残り5個) おいしい!(残り4個) おいしい!(残り3個) おいしい!(残り2個) おいしい!(残り1個) おいしい!(残り0個) 今年はもう採れる実がありません 1年経過しました。 高さ: 100 実: 20個 おいしい!(残り19個) おいしい!(残り18個) おいしい!(残り17個) おいしい!(残り16個) おいしい!(残り15個) おいしい!(残り14個) おいしい!(残り13個) おいしい!(残り12個) おいしい!(残り11個) おいしい!(残り10個) おいしい!(残り9個) おいしい!(残り8個) おいしい!(残り7個) おいしい!(残り6個) おいしい!(残り5個) おいしい!(残り4個) おいしい!(残り3個) おいしい!(残り2個) おいしい!(残り1個) おいしい!(残り0個) 今年はもう採れる実がありません 1年経過しました。木は枯れてしまいました 高さ: ぼろぼろ 実: 0個 今年はもう採れる実がありません 木はもう枯れています。 $
本書を続けつつ、上記の本を入手したらそっちに切り替え。
0 コメント:
コメントを投稿