17.2.14 自己言及

概念の定義の方法は一種類とは限りません. メソッド"bar"でその例を見てみましょう. ちょっと発想の転換が必要になります.

「星印4個の横棒」と「星印5個の横棒」との関係を考えます. このほとんど同じ「概念」間の差は星印の数ですが, 前者の直前に星印を1個つければ後者になります. この関係を表わすと

bar(5)= "*" + bar(4)

となります. 同様に考えてゆくと

bar(4)= "*" + bar(3)
bar(3)= "*" + bar(2)
bar(2)= "*" + bar(1)
bar(1)= "*" + bar(0)

となります. bar(0)は「何も表示せず改行だけを行なう」ことになります.

ここで見るbar(5)からbar(0)までの関係は, forによる繰返しの構造に似ています. 実際,上の式をbar(5)について「解く」と

bar(5)= "*" + "*" + "*" + "*" + "*" + bar(0)

となっています. それではこの関係を簡潔に表わす方法はないのでしょうか. それが自分自身を使う再帰の方法です.