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と送ったりすると、なかなか貴重な体験ができます。 |
お知らせ >