前回の Symbol クラスの時にまだ Atom クラスを作っていなかった。 ついでに True クラスも作っておこう。
Atom の特徴
-
基本的に nil ではない。
- ただし nil という名前の Symbol は nil として扱う。
- 実際にはこれのインスタンスは作らない
実装は IsNil で false を返却するようにすれば良いんじゃないかな。
True の特徴
nil に似ている部分もあるが、違う部分もある。
- Lisp 上では t で表す。
- nil ではない値の代表。
- Symbol である。
- それには t が束縛されている。
- "t" という名前を持っている。
- List ではない。
ということで Symbol クラスを継承して True クラスを作り、定数 T を用意する。 bind と unbind できない "t" 固定の名前を持ち自身を束縛しているクラスにすれば良いか。
Generated by wifky 1.0.3.1 with Perl 5.008009