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