所以我是在Smalltalk的时候是一个完整的肉,我现在正在用GUI编写一个非常简单的应用程序。所有此应用程序都可以从两个输入字段中添加两个操作数,并在第三个只读输入字段中显示总和。

我遇到了识别我已经声明的临时变量的VisualWorks。

我尝试使用声明的临时变量突出显示任何行,它会说出此类变量尚未声明;我是否希望将其声明为临时,实例,共享等......这尤其奇怪,因为当我通过GUI运行时可以接受且甚至通过读取方法,(虽然我遇到了一个问题,但是作为整数亮起变量的问题)但如果我想用声明的临时变量打印或检查任何行,那么它会说它不识别它,并且我想将其声明为此。

代码:

add
"adds two input fields"

| op1 op2 result |

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

result := op1 + op2.

^result
.

任何想法?

有帮助吗?

解决方案

问题是只编译和评估所选的文本。如果您只选择单行,则编译代码中不包含变量声明。如果选择整个方法机构进行评估(不包括方法签名),则应正常工作。另一个选项是在编译器提示时选择“创建临时”,然后恢复到保存的方法,以摆脱额外的临时声明。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top