プール

プール辞書とはこういう物かっ!..な?(ギンガナム風) - みねこあ

のつづき、梅澤さんのコメント

プールはプール「辞書」である必要はなく、「辞書」になっているのは実装の一形態と考えた方が良いと思います。

はひー。

要は複数のクラス・インスタンスから共通に参照される変数をため込んでおくための「プール」です

ふみみ、プール辞書については、最初 ググッてお終い・・くらいを目論んでいたのですが、いいページが見つからず、結局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