我无法让单例模式在 smalltalk 中初始化实例变量。(这里是另一个实现的链接以进行澄清)
这就是我所拥有的:
new
^UniqueInstance ifNil: [UniqueInstance := self basicNew.
UniqueInstance: instanceVar := Object new. ].
最后一行 (UniqueInstance: instanceVar := Object new.) 不起作用,但这基本上就是我需要做的:在将 UniqueInstance 返回给调用者之前将 instanceVar 实例化为对象。
请注意,此“新”方法用作类实例化,并且库是 UniqueIsntance(所需类的实例)的实例变量。
谁能指出我正确的方向?