[Squeak-ja: 3870] Re: Object特異的な情報を含むメッセージの発信について

Kazuhiro ABE abee @ squeakland.jp
2008年 5月 10日 (土) 14:20:16 JST


こんにちは、阿部です。
ここでいう「Bがある変化をする」とは、単にBの属性値が変化するだけでなく、Aの情報をもとにBの振る舞いが変わるという解釈でよいでしょうか。
また、オブジェクト特異的ということなので、Bのみが変化するのであって、Bが属するクラスおよびそのインスタンスは変化しないということですね。
そのような場合、Squeak Smalltalkのインスタンスに、assureUniClassメッセージを送ることでインスタンス特異的クラスを得ることができます。このクラスに特異的メソッドを追加するには、compile:classified:を送ります。このとき、compile:の引数はソースコードの文字列、classified:の引数は任意のメソッドカテゴリ(プロトコル)の文字列です。したがって、このソースコードにAの情報を含めれば目的は達すると思われます。
詳しくは以下の鷲見さんの解説を参照してください。
http://d.hatena.ne.jp/sumim/20060420/p1

なお、2004年末の議論は、マルチエージェントの扱いに関するもので、今回の話とは直接関係ないと思います。

 //abee
--
阿部 和広  EMAIL abee @ squeakland.jp

08/05/10 に Hiromichi Tsurui<tsurui @ med.juntendo.ac.jp> さんは書きました:
>
> Object Aからobject
> BへAに関する情報を含むメッセージを送り、その情報に基づいてBがある変化をする、というような場合、どのように記述するべきでしょうか?Object特異的な情報を含むメッセージをそのObjectから発信する方法についてです。何冊かの本を読んだのですがはっきり触れていませんでした。2004年12月末から2005年1月に掛けてのKondo
> Fumito, Kazuhiro ABE, Takashi
> Yamamiyaさんたちの議論はこの問題に関するものだと思うのですが、殆んど文字化けしていて読めませんでした。あるいは、Smalltalkにはこのような機能はないのでしょうか?
>
> 鶴井 博理
> Hiromichi Tsurui MD, PhD
> Dept. Pathology,
> Juntendo University
> Phone:81-3-5802-1039
> Fax:81-3-3813-3164
> tsurui @ med.juntendo.ac.jp


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