開発環境
- 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 コメント:
コメントを投稿