SmallTalkは宣言された一時変数を認識しません
-
12-12-2019 - |
質問
だから私はそれがSmalltalkに関して、今すぐそこに来たとき私は完全なフランジルです。私はGUIで非常にシンプルなアプリを書いています。このアプリはすべて2つの入力フィールドから2つのオペランドを追加し、3番目の読み取り専用入力フィールドに合計を表示します。
私はすでに宣言した一時的な変数を認識する視覚的な変数に問題があります。
宣言された一時変数を持つ行を強調しようとし、そのような変数が宣言されていないと言うでしょう。Temp、インスタンス、共有などとして宣言したいですか... MethodがGUIによって実行されるときに承認され、読み込まれた場合でも読み込まれたので、それは特に奇妙です。)しかし、宣言された一時変数のある行を印刷または検査したい場合は、それを認識していないと言うと、これを宣言したいのですか。
コード:
add
"adds two input fields"
| op1 op2 result |
op1 := #InputOperand1 value asInteger.
op2 := #InputOperand2 value asInteger.
result := op1 + op2.
^result
.
任意のアイデア?
解決
問題は、選択したテキストのみがコンパイルされ評価されていることです。1行のみを選択している場合は、変数宣言はコンパイル済みコードに含まれていません。評価のためにメソッド本体全体(メソッドシグネチャを含まない)を選択した場合は、それはうまく機能するはずです。もう1つのオプションは、コンパイラがプロンプトが表示されたときに[Tempを作成]を選択し、そのメソッドの保存されたバージョンに戻って、余分なTEMP宣言を取り除きます。
所属していません StackOverflow