Smalltalk 返回优先级

发布于 2024-11-16 06:54:03 字数 169 浏览 3 评论 0原文

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

例如,表达式

^ 2 + 3. 

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

I'd like a little clarification on the precedence of the return
statement, which appears to go against the general precedence
rules.

For example the expression

^ 2 + 3. 

returns 5(which is what I want) but shouldn't it return just 2 since Unary operators
of which ^ is one has higher precedence over + which is Binary?.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

剪不断理还乱 2024-11-23 06:54:03

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

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

There are no "unary operators" in Smalltalk. There are only 3 precedence levels: unary messages ("receiver message"), binary operators ("receiver + argument"), and n-ary keyword messages ("receiver message: argument1"). In all cases the receiver comes first.

So "^" is not an operator, but indicates a return statement. Similarly, in "-4" the "-" is not an operator but part of the number literal.

眼眸里的那抹悲凉 2024-11-23 06:54:03

返回符号 ^ 是少数语言内置结构之一。 Smalltalk 将返回 ^ 符号后面的表达式的值。

The return symbol, ^, is one of the few language built-ins constructs. Smalltalk will return the value of the expression following the ^ symbol.

各自安好 2024-11-23 06:54:03

Smalltalk 的 ^ 真的是一个运算符吗?我想这是一个保留的符号。当周围的方法返回时,“dangling”+ 3 会发生什么?我认为这种行为是正确的,因为 return 语句是“正常”Smalltalk 方法中发生的最后一个语句。

问候

Is Smalltalk's ^ really an operator at all ? I guess it is rather a reserved symbol. And what should happen to the "dangling" + 3 then, when the surrounding method has returned? I think the behavior is correct as the return statement is the last statement to happen in a "normal" Smalltalk method.

Regards

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文