お知らせ‎ > ‎

singletonメソッドについて

2009/03/20 5:25 に SmalltalkUsers Admin が投稿   [ 2009/03/20 7:51 に更新しました ]
R4.1ではsingletonというメッセージを送るだけで、シングルトンとなるオブジェクトを簡単に生成できます。

Foo singleton == Foo singleton. "=> true"

singletonを送ると、Fooのシングルトンが生成されます。常に同一のインスタンスが返ってきます。

ここで特筆すべきは、既存のシングルトンでなかったインスタンスも、singletonが送られた時点で自動的にシングルトンになるということです。

instA := Foo new.
instB := Foo new.


instA ~= instB. "=> false"

singleton := Foo singleton.
instA == singleton. "=> true"
instA == instB. "=> true"


超便利ですね。ちなみにArrayなどのコアなクラスにsingletonと送ったりすると、なかなか貴重な体験ができます。

Comments