私はクラス変数を意味しません。どこでも使える変数が欲しい。どのように開始すればよいですか?
1つの方法は知ってSmalltalk at: #variableName put: theValue.
いますが、作成したらすぐに価値を与えたくありません。
これでうまくいくはずです:
Smalltalk at: #VariableName put: nil
Smalltalk ディクショナリでグローバル変数を作成するkey
と、 とを持つアソシエーションが作成されるvalue
ため、何らかの値を提供しないと逃げられません。
後で戻って、次のように値を変更できます。
Smalltalk at: #VariableName put: newValue
コンパイルされたコードは Association を参照するため、グローバル変数を参照するコンパイルされたコードには新しい値が表示されます。