プール
プール辞書とはこういう物かっ!..な?(ギンガナム風) - みねこあ
のつづき、梅澤さんのコメント
プールはプール「辞書」である必要はなく、「辞書」になっているのは実装の一形態と考えた方が良いと思います。
はひー。
要は複数のクラス・インスタンスから共通に参照される変数をため込んでおくための「プール」です
ふみみ、プール辞書については、最初 ググッてお終い・・くらいを目論んでいたのですが、いいページが見つからず、結局Squeak をブラウザでブラブラしてみてみたのですが、ちゃんと調べないとダメですね。
というわけで、おうちでパープルブックを当たってみました。3章 Classes and Instances の Variable Declarations より、
Variables that are shared by more then one object come in groups called pools.
ほえほえ。1つ以上のオブジェクトによって共有される変数のグループを「プール」と呼ぶのですかー。ん?、ということは、
One pool is shared by all classes and contains the global variables; this pool is named Smalltalk.
Smalltalk 辞書(グローバル変数)も「プール」の一種ということらしい。これはでっかいビックリです。
英語苦手なので、買いっぱなし・ぱらぱら・ときどき辞書 だったのですが、ちゃんと読まないと良くないですよね、やっぱり。がんばろ。
話は戻して、当然 クラス変数もプールの一種で、ようするに大文字で書き始めるような変数は全部プール変数ということです。
各クラスは通常2つのプール――Smalltalk辞書と、クラス変数が在るプール を持ち、さらに セレクタ poolDictionaries: で指定したプールを オプショナルで持つことが出来る、と言う訳。ふみみ、ようやく理解です。梅澤さん、ありがとうございました。m(_ _)m