開発環境
- 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 @height = 0 @age = 0 @alive = true @orange_count = 0 end def height @height end def one_year_passes @orange_count = 0 if @age == 10 @height = 0 @alive = false return '木は枯れています。' end if @alive @age += 1 @height += 10 @orange_count = @age if @age >= 5 end return '1年経過しました' end def count_the_orange @orange_count end def pick_an_orange if @orange_count > 0 @orange_count -= 1 return 'とてもおいしい実がとれました。' else return '採れる実がありません。' end end end ot = OrangeTree.new i = 1 11.times do puts ot.one_year_passes puts "樹齢: #{i}" puts "高さ: #{ot.height}" puts "実の数: #{ot.count_the_orange}" j = 1 while 1 puts "#{j}個目: #{ot.pick_an_orange}" break if ot.count_the_orange == 0 j += 1 end i += 1 end
入出力結果(Terminal)
$ ./ruby_program.rb 1年経過しました 樹齢: 1 高さ: 10 実の数: 0 1個目: 採れる実がありません。 1年経過しました 樹齢: 2 高さ: 20 実の数: 0 1個目: 採れる実がありません。 1年経過しました 樹齢: 3 高さ: 30 実の数: 0 1個目: 採れる実がありません。 1年経過しました 樹齢: 4 高さ: 40 実の数: 0 1個目: 採れる実がありません。 1年経過しました 樹齢: 5 高さ: 50 実の数: 5 1個目: とてもおいしい実がとれました。 2個目: とてもおいしい実がとれました。 3個目: とてもおいしい実がとれました。 4個目: とてもおいしい実がとれました。 5個目: とてもおいしい実がとれました。 1年経過しました 樹齢: 6 高さ: 60 実の数: 6 1個目: とてもおいしい実がとれました。 2個目: とてもおいしい実がとれました。 3個目: とてもおいしい実がとれました。 4個目: とてもおいしい実がとれました。 5個目: とてもおいしい実がとれました。 6個目: とてもおいしい実がとれました。 1年経過しました 樹齢: 7 高さ: 70 実の数: 7 1個目: とてもおいしい実がとれました。 2個目: とてもおいしい実がとれました。 3個目: とてもおいしい実がとれました。 4個目: とてもおいしい実がとれました。 5個目: とてもおいしい実がとれました。 6個目: とてもおいしい実がとれました。 7個目: とてもおいしい実がとれました。 1年経過しました 樹齢: 8 高さ: 80 実の数: 8 1個目: とてもおいしい実がとれました。 2個目: とてもおいしい実がとれました。 3個目: とてもおいしい実がとれました。 4個目: とてもおいしい実がとれました。 5個目: とてもおいしい実がとれました。 6個目: とてもおいしい実がとれました。 7個目: とてもおいしい実がとれました。 8個目: とてもおいしい実がとれました。 1年経過しました 樹齢: 9 高さ: 90 実の数: 9 1個目: とてもおいしい実がとれました。 2個目: とてもおいしい実がとれました。 3個目: とてもおいしい実がとれました。 4個目: とてもおいしい実がとれました。 5個目: とてもおいしい実がとれました。 6個目: とてもおいしい実がとれました。 7個目: とてもおいしい実がとれました。 8個目: とてもおいしい実がとれました。 9個目: とてもおいしい実がとれました。 1年経過しました 樹齢: 10 高さ: 100 実の数: 10 1個目: とてもおいしい実がとれました。 2個目: とてもおいしい実がとれました。 3個目: とてもおいしい実がとれました。 4個目: とてもおいしい実がとれました。 5個目: とてもおいしい実がとれました。 6個目: とてもおいしい実がとれました。 7個目: とてもおいしい実がとれました。 8個目: とてもおいしい実がとれました。 9個目: とてもおいしい実がとれました。 10個目: とてもおいしい実がとれました。 木は枯れています。 樹齢: 11 高さ: 0 実の数: 0 1個目: 採れる実がありません。 $
今回の周ではirb(インタラクティブRuby)も少しずつ活用してみることに。
本書を続けつつ、上記の本を入手したらそっちに切り替え。
0 コメント:
コメントを投稿