3

私はクラス変数を意味しません。どこでも使える変数が欲しい。どのように開始すればよいですか?

1つの方法は知ってSmalltalk at: #variableName put: theValue.いますが、作成したらすぐに価値を与えたくありません。

4

1 に答える 1

4

これでうまくいくはずです:

Smalltalk at: #VariableName put: nil

Smalltalk ディクショナリでグローバル変数を作成するkeyと、 とを持つアソシエーションが作成されるvalueため、何らかの値を提供しないと逃げられません。

後で戻って、次のように値を変更できます。

Smalltalk at: #VariableName put: newValue

コンパイルされたコードは Association を参照するため、グローバル変数を参照するコンパイルされたコードには新しい値が表示されます。

于 2012-07-20T16:11:37.990 に答える