簡體   English   中英

Smalltalk不會識別聲明的臨時變量

[英]Smalltalk won't recognize declared temporary variables

因此,當談到Smalltalk時,我是一個完全初出茅廬的人,現在我正在編寫一個帶GUI的非常簡單的應用程序。 所有這個應用程序都是從兩個輸入字段一起添加兩個操作數,並在第三個只讀輸入字段中顯示總和。

我在使用VisualWorks識別我已經聲明的臨時變量時遇到了麻煩。

我嘗試使用聲明的臨時變量突出顯示任何行,並且它將聲明此類變量尚未聲明; 我想將它聲明為temp,instance,shared等...它特別奇怪,因為當我通過GUI運行它時,該方法可以被接受甚至讀取(雖然我遇到了將變量類型轉換為整數的問題)但是如果我想打印或檢查具有聲明的臨時變量的任何行,它會說它不會識別它並且我是否要將其聲明為此或那樣。

代碼:

add
"adds two input fields"

| op1 op2 result |

op1 := #InputOperand1 value asInteger.
op2 := #InputOperand2 value asInteger.

result := op1 + op2.

^result

有任何想法嗎?

問題是只編譯和評估您選擇的文本。 如果您只選擇一行,則變量聲明不包含在已編譯的代碼中。 如果選擇整個方法體進行評估(不包括方法簽名),它應該可以正常工作。 另一個選擇是在編譯器提示時選擇“create temp”,然后恢復到方法的已保存版本以除去額外的temp聲明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM