繁体   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