2012年4月25日水曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 13章(新しいクラスの作成と既存クラスの変更), 13.6(練習問題の続き)、オレンジの木を解いてみる。

その他参考書籍

オレンジの木

コード(TextWrangler)

#!/usr/bin/env ruby
#encoding: 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
    if @alive
      @height += 10
      @orange_count = @age * 2 if @age >= 5
      puts '1年経過しました。'
    else
      puts 'もう木は枯れています。'
    end
  end
  def count_the_orange
    @orange_count
  end
  def pick_an_orange
    if @orange_count > 0
      @orange_count -= 1
      puts 'おいしいオレンジの実が採れました。'
    else
      puts '今年はもう採れる実がありません。'
    end
  end
end

ot = OrangeTree.new
11.times do
  ot.one_year_passes
  puts "高さ: #{ot.height} 実: #{ot.count_the_orange}個"
  (ot.count_the_orange + 1).times do
    ot.pick_an_orange
  end
end

入出力結果(Terminal)

$ ./sample.rb
オレンジの木の種を植えました。
1年経過しました。
高さ: 10 実: 0個
今年はもう採れる実がありません。
1年経過しました。
高さ: 20 実: 0個
今年はもう採れる実がありません。
1年経過しました。
高さ: 30 実: 0個
今年はもう採れる実がありません。
1年経過しました。
高さ: 40 実: 0個
今年はもう採れる実がありません。
1年経過しました。
高さ: 50 実: 10個
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
今年はもう採れる実がありません。
1年経過しました。
高さ: 60 実: 12個
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
今年はもう採れる実がありません。
1年経過しました。
高さ: 70 実: 14個
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
今年はもう採れる実がありません。
1年経過しました。
高さ: 80 実: 16個
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
今年はもう採れる実がありません。
1年経過しました。
高さ: 90 実: 18個
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
今年はもう採れる実がありません。
1年経過しました。
高さ: 100 実: 20個
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
おいしいオレンジの実が採れました。
今年はもう採れる実がありません。
もう木は枯れています。
高さ: 100 実: 0個
今年はもう採れる実がありません。
$

今回の周ではirb(インタラクティブRuby)も少しずつ活用してみることに。

まだ上記の本を入手してないのでまた最初から。

本書を続けつつ、上記の本を早く入手してそっちに切り替え。

0 コメント:

コメントを投稿