[Squeak-ja: 3892] Re: プログラミングの質問です

Kondo, Fumito Fumito.Kondo @ hp.com
2008年 5月 27日 (火) 10:08:58 JST


阿部さん、おださん、

早速のご教示、誠にありがとうございます。

可能性が見えてきました。

早速家に帰ったら試してみます。

近藤



-----Original Message-----
From: squeak-ja-bounces @ smalltalk.jp [mailto:squeak-ja-bounces @ smalltalk.jp] On Behalf Of Tomohiro Oda
Sent: Tuesday, May 27, 2008 9:54 AM
To: Squeak discussion in Japanese
Subject: [Squeak-ja: 3891] Re: プログラミングの質問です

おだです。

> ActiveWorld submorphs do: [:each |
>     [each isKindOf: クラス] ifTrue: [each 特定の処理]].

たぶん、
ActiveWorld submorphs do: [:each |
    (each isKindOf: クラス) ifTrue: [each 特定の処理]].
ですね。

> isKindOf:は指定したクラスのサブクラスも含むので、そのクラスのインスタン
> スのみにしたいときは、代わりにisMemberOf:を使います。

クラス名などを決め打ちしたくない場合には、
音を出すメッセージセレクタ名をmakeNoiseとすると、

ActiveWorld submorphsDo: [:each |
     (each respondsTo: #makeNoise) ifTrue: [each makeNoise]].

とすると、makeNoiseできるオブジェクトのみがmakeNoiseします。
(変な日本語ですね :-)
---
おだ


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