開発環境
- 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)
- Rubyクックブック ―エキスパートのための応用レシピ集
オレンジの木
コード(TextWrangler)
sample.rb
#!/usr/bin/env ruby1.9
# -*- coding: utf-8 -*-
class OrangeTree
def initialize
@height = 0
@orange_count = 0
@alive = true
@age = 0
puts "オレンジの木を植えました。"
end
def height
@height
end
def one_year_passes
@orange_count = 0
@age += 1
@alive = false if @age > 10
@age = nil unless @alive
@orange_count = @age * 1 if @alive
@height = 5 * @age if @alive
@height = nil unless @alive
end
def count_the_orange
@orange_count
end
def pick_an_orange
return 'もう木は枯れています。' unless @alive
if @orange_count > 0
@orange_count -= 1
return "おいしいオレンジが採れました!"
else
return "今年はもう採れる実がありません。"
end
end
end
ot = OrangeTree.new
11.times do
ot.one_year_passes
puts "1年経過しました。"
puts "木の高さ: #{ot.height}、実の数: #{ot.count_the_orange}"
(ot.count_the_orange + 1).times do
puts ot.pick_an_orange
end
end
入出力結果(Terminal)
$ ./sample.rb オレンジの木を植えました。 1年経過しました。 木の高さ: 5、実の数: 1 おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 10、実の数: 2 おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 15、実の数: 3 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 20、実の数: 4 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 25、実の数: 5 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 30、実の数: 6 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 35、実の数: 7 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 40、実の数: 8 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 45、実の数: 9 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 50、実の数: 10 おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! おいしいオレンジが採れました! 今年はもう採れる実がありません。 1年経過しました。 木の高さ: 、実の数: 0 もう木は枯れています。 $
0 コメント:
コメントを投稿