Smalltalk 返回优先级

标签 smalltalk squeak

我想澄清一下返回的优先级
声明,这似乎违反了一般优先顺序
规则。

例如表达式

^ 2 + 3. 

返回 5(这是我想要的)但它不应该只返回 2,因为一元运算符
其中 ^ 的优先级高于 + 哪个是 Binary?。

最佳答案

Smalltalk 中没有“一元运算符”。只有 3 个优先级:一元消息(“接收方消息”)、二元运算符(“接收方 + 参数”)和 n 元关键字消息(“接收方消息:参数 1”)。在所有情况下,接收者是第一位的。

所以“^”不是运算符,而是表示返回语句。类似地,在“-4”中,“-”不是运算符而是数字文字的一部分。

关于Smalltalk 返回优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401875/

相关文章:

date - 如何在 Smalltalk (Pharo/Squeak) 中设置日期或 DataAndTime 对象的日月和年值

github - 将一个项目从 squeak smalltalk 上传到我的 github 帐户

smalltalk - 如何在 smalltalk 中创建二维数组

fonts - 如何在 Squeak 中拥有更多字体大小?

matrix - Squeak:创建具有指定行和列的矩阵

smalltalk - 为Pharo 1.3安装OmniBrowser的脚本?

events - pharo 中的事件系统

smalltalk - 如何将对象的类型存储在变量中?

smalltalk - ANSI Smalltalk 和 Smalltalk-80 有什么区别?

smalltalk - Smalltalk 镜像如何处理 IO?