[Squeak-ja: 3276] Re: squeak 初心者の質問:モーフの指定

Tetsuya HAYASHI tetha @ st.rim.or.jp
2006年 12月 7日 (木) 23:59:03 JST


林です。ども。

On 2006/12/07, at 19:35, iNOUE Koich! wrote:

> サーバを選択で一番上のSqueakLandを選択して(他はalphaと書かれていまし
> たから。)、25個何やらアップデートされた後はゴミ箱直行になりませんで
> した。定期的にアップデートをしてやるべきなんですね。

一安心しました。
ちょっと煩雑に感じるときも多いのですが、プリファレンスでupdateで検索して
出てくる updateFromServerAtStartup をONにしておくと起動時に毎回チェックす
るかどうか確認してくるようです。

> なるほど、直接書いて指定する方法は用意されておらず、登録されているとこ
> ろで検索してやるわけですか。複数の同じようなものから選択するには工夫が
> 必要なのでしょうね。

ActiveWorld にいるオブジェクトはコレクションで取ることができるので、必要
としている条件によるコレクションの操作で見つけることが出来るはずです。

> イメージが湧きます。リテラルを除き、オブジェクトは直接指定できず何かに
> 入ったその入れ物を(スコープも考慮に入れて)扱うことで、対象となるオブ
> ジェクトを指定する(いじる)ということですか。

あまり本質的な話ではないのですが、どこからも参照されてない(バインドされ
てない)オブジェクトはガベージコレクトされてサヨナラしてしまいます。です
ので、生成されたオブジェクトはどこかで参照されてないといけないという話も
あるかと思います。
リテラルについては、コンパイル時にどっかから引っ張ってきたり、配列リテラル
などは構文糖でその時にインスタンス生成が実行されてると言えるかもしれません。
式をワークスペースで実行する時もまずコンパイルをその場でやってます。

>> 例えば、クラス名もグローバル変数だったりします。
>
> smalltalk 80の黄色い本でもそのようなことを読んだような気がします。(嘘かも)

その当時は本当にグローバル変数で、クラス名に代入することができたという話
があります。
今は出来ませんけど。

>> Smalltalk はそれ自身で言語が実装されてますので、変数の内、グローバル変数
>> なども同じように連想配列オブジェクト(辞書)を使って実現してたりします。
>> この辺りの実現方式の話が言語仕様と絡むとわやくちゃになってしまうのですが。
>> (ブートストラップといいましょうか、メビウスの輪といいましょうか)
>
> メタメタになるというわけですね。(^^;

でも、それがイイ。という話もあったりしますね。

--
林 徹也 Tetsuya HAYASHI 
tetha @ st.rim.or.jp, tetha @ mac.com





Squeak-ja メーリングリストの案内