開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 13章(新しいクラスの作成と既存のクラスの変更), 13.6(練習問題の続き)オレンジの木 を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
オレンジの木
コード(BBEdit)
sample.rb
#!/usr/bin/env ruby1.9 #-*- coding: utf-8 -*- class OrangeTree def initialize puts "オレンジの木を植えました。" @alive = true @height = 0 @age = 0 @orange_count = 0 end def height if @alive return @height else return "もう木は枯れています。" end end def one_year_passes puts "1年経過しました。" if @alive @orange_count = 0 @age += 1 if @age <= 10 @height += 10 if @age >= 5 @orange_count = @age * 2 end else @alive = false @height = nil @age = nil @orange_count = nil end end end def count_the_orange if @alive if @age >= 5 return @orange_count else return "まだ実がなるまでは成長していません。" end else return "もう木は枯れています。" end end def pick_an_orange if @alive if @age >= 5 if @orange_count > 0 @orange_count -= 1 return "とてもおいしいオレンジの実が採れました!" else return "今年はもう採れる実がありません。" end else return "まだ実がなるまでは成長していません。" end else return "木はもう枯れています。" end end end ot = OrangeTree.new 1.upto(11) do |n| ot.one_year_passes puts "現在#{n}年経過: 高さ #{ot.height} 実の数 #{n = ot.count_the_orange}" (1 .. n.to_i + 1).each do |i| puts "#{i}: #{ot.pick_an_orange}" end end
入出力結果(Terminal)
$ ./sample.rb オレンジの木を植えました。 1年経過しました。 現在1年経過: 高さ 10 実の数 まだ実がなるまでは成長していません。 1: まだ実がなるまでは成長していません。 1年経過しました。 現在2年経過: 高さ 20 実の数 まだ実がなるまでは成長していません。 1: まだ実がなるまでは成長していません。 1年経過しました。 現在3年経過: 高さ 30 実の数 まだ実がなるまでは成長していません。 1: まだ実がなるまでは成長していません。 1年経過しました。 現在4年経過: 高さ 40 実の数 まだ実がなるまでは成長していません。 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年経過しました。 現在11年経過: 高さ もう木は枯れています。 実の数 もう木は枯れています。 1: 木はもう枯れています。 $
ちなみにJavaScriptの場合。
コード(BBEdit)
var OrangeTree = function() { $('#pre0').append("オレンジの木を植えました\n"); var alive = true, height = 0, age = 0, orange_count = 0; this.height = function ( ) { if (alive) { return height; } return "もう木は枯れています"; }; this.oneYearPasses = function ( ) { $('#pre0').append("1年経過しました\n"); if (alive){ orange_count = 0 age += 1; if (age <= 10) { height += 10; if (age >= 5) { orange_count = age * 2; } } else { alive = false; height = null; age = null; orange_count = 0; } } }; this.countOrange = function ( ) { if (alive){ if (age >= 5) { return orange_count; } else { return "まだ実がなるまでは成長していません"; } } else { return "もう木は枯れています"; } }; this.pickOrange = function ( ) { if (alive ){ if (age >= 5) { if (orange_count > 0) { orange_count -= 1; return "とても美味しいオレンジの実が採れました!"; } else { return "今年はもう採れる実がありません"; } } else { return "まだ実がなるまでは成長していません"; } } else { return "木はもう枯れています"; } }; }, ot = new OrangeTree(), i; for (i = 1, max = 11; i <= max; i += 1) { ot.oneYearPasses(); n = ot.countOrange(); $('#pre0').append("現在" + i + "年経過: 高さ " + ot.height() + " 実の数 " + n + "\n"); if (typeof(n) === "number") { var j, max_j for ( j = 1, max_j = n + 1; j <= max_j; j += 1) { $('#pre0').append(j + ": " + ot.pickOrange() + "\n"); } } else { $('#pre0').append(ot.pickOrange() + "\n"); } }
pythonの場合。
sample.py
コード(BBEdit)
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- class OrangeTree: def __init__(self): print("オレンジの木を植えました。") self._alive = True self._height = 0 self._age = 0 self._orange_count = 0 def getHeight(self): if self._alive: return self._height return "もう木は枯れています。" def oneYearPasses(self): print("1年経過しました。") if self._alive: self._orange_count = 0 self._age += 1 if self._age <= 10: self._height += 10 if self._age >= 5: self._orange_count = self._age * 2 else: self._alive = False self._height = None self._age = None self._orange_count = None def countOrange(self): if self._alive: if self._age >= 5: return self._orange_count return "まだ実がなるまでは成長していません。" return "もう木は枯れています。" def pickOrange(self): if self._alive: if self._age >= 5: if self._orange_count > 0: self._orange_count -= 1 return "とてもおいしいオレンジの実が採れました!" return "今年はもう採れる実がありません" return "まだ実がなるまでは成長していません。" return "もう木は枯れています。" ot = OrangeTree() for n in range(1, 12): ot.oneYearPasses() x = ot.countOrange() print("現在{0}年経過: 高さ {1} 実の数 {2}".format(n, ot.getHeight(), x)) if type(x) == type(10): for m in range(1, x + 2): print("{0}: {1}".format(m, ot.pickOrange())) else: print(ot.pickOrange())
入出力結果(Terminal)
$ ./sample.py オレンジの木を植えました。 1年経過しました。 現在1年経過: 高さ 10 実の数 まだ実がなるまでは成長していません。 まだ実がなるまでは成長していません。 1年経過しました。 現在2年経過: 高さ 20 実の数 まだ実がなるまでは成長していません。 まだ実がなるまでは成長していません。 1年経過しました。 現在3年経過: 高さ 30 実の数 まだ実がなるまでは成長していません。 まだ実がなるまでは成長していません。 1年経過しました。 現在4年経過: 高さ 40 実の数 まだ実がなるまでは成長していません。 まだ実がなるまでは成長していません。 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年経過しました。 現在11年経過: 高さ もう木は枯れています。 実の数 もう木は枯れています。 もう木は枯れています。 $
perlの場合。
sample.pl
コード(BBEdit)
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; { package OrangeTree; sub new { print "オレンジの木を植えました。\n"; my $class = shift; my $self = {Alive => 1, Height => 0, Age => 0, OrangeCount => 0}; bless $self, $class; } sub get_height { my $self = shift; if ($self->{Alive}) { return $self->{Height} } else { return "もう木は枯れています。"; } } sub one_year_passes { my $self = shift; print "1年経過しました。\n"; if ($self->{Alive}) { $self->{OrangeCount} = 0; $self->{Age} += 1; if ($self->{Age} <= 10) { $self->{Height} += 10; if ($self->{Age} >= 5) { $self->{OrangeCount} = $self->{Age} * 2; } } else { $self->{Alive} = 0; $self->{Height} = undef; $self->{Age} = undef; $self->{OrangeCount} = undef; } } } sub count_the_orange { my $self = shift; if ($self->{Alive}) { if ($self->{Age} >= 5) { return $self->{OrangeCount}; } else { return "まだ実がなるまでは成長してません。"; } } else { return "もう木は枯れています。"; } } sub pick_an_orange { my $self = shift; if ($self->{Alive}) { if ($self->{Age} >= 5) { if ($self->{OrangeCount} > 0) { $self->{OrangeCount} -= 1; return "とてもおいしいオレンジの実が採れました!"; } else { return "今年はもう採れる実がありません。"; } } else { return "まだ実がなるまでは成長していません。"; } } else { return "木はもう枯れています。"; } } } my $ot = OrangeTree->new; for my $i ((1..11)) { $ot->one_year_passes; my $n = $ot->count_the_orange; print "現在${i}年経過: 高さ ", $ot->get_height, " 実の数 $n\n"; if (($i >= 1 and $i < 5) or $i == 11) { print $ot->pick_an_orange, "\n"; } else { for my $j ((1 .. ($n + 1))) { print "$j: ", $ot->pick_an_orange, "\n"; } } }
入出力結果(Terminal)
$ ./sample.pl オレンジの木を植えました。 1年経過しました。 現在1年経過: 高さ 10 実の数 まだ実がなるまでは成長してません。 まだ実がなるまでは成長していません。 1年経過しました。 現在2年経過: 高さ 20 実の数 まだ実がなるまでは成長してません。 まだ実がなるまでは成長していません。 1年経過しました。 現在3年経過: 高さ 30 実の数 まだ実がなるまでは成長してません。 まだ実がなるまでは成長していません。 1年経過しました。 現在4年経過: 高さ 40 実の数 まだ実がなるまでは成長してません。 まだ実がなるまでは成長していません。 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年経過しました。 現在11年経過: 高さ もう木は枯れています。 実の数 もう木は枯れています。 木はもう枯れています。 $
0 コメント:
コメントを投稿