SmallTalk将无法识别已宣布的临时变量
-
12-12-2019 - |
题
所以我是在Smalltalk的时候是一个完整的肉,我现在正在用GUI编写一个非常简单的应用程序。所有此应用程序都可以从两个输入字段中添加两个操作数,并在第三个只读输入字段中显示总和。
我遇到了识别我已经声明的临时变量的VisualWorks。
我尝试使用声明的临时变量突出显示任何行,它会说出此类变量尚未声明;我是否希望将其声明为临时,实例,共享等......这尤其奇怪,因为当我通过GUI运行时可以接受且甚至通过读取方法,(虽然我遇到了一个问题,但是作为整数亮起变量的问题)但如果我想用声明的临时变量打印或检查任何行,那么它会说它不识别它,并且我想将其声明为此。
代码:
add
"adds two input fields"
| op1 op2 result |
op1 := #InputOperand1 value asInteger.
op2 := #InputOperand2 value asInteger.
result := op1 + op2.
^result
.
任何想法?
解决方案
问题是只编译和评估所选的文本。如果您只选择单行,则编译代码中不包含变量声明。如果选择整个方法机构进行评估(不包括方法签名),则应正常工作。另一个选项是在编译器提示时选择“创建临时”,然后恢复到保存的方法,以摆脱额外的临时声明。
不隶属于 StackOverflow