我想对return语句的优先级稍作澄清,这似乎违反了一般优先规则.
例如表达式
^ 2 + 3.
Run Code Online (Sandbox Code Playgroud)
返回5(这是我想要的)但是它不应该只返回2,因为^是一个的一元运算符优先于+是二进制的+?
Ber*_*erg 10
Smalltalk中没有"一元运算符".只有3个优先级:一元消息("接收者消息"),二元运算符("接收者+参数")和n元关键字消息("接收者消息:参数1").在所有情况下,接收器首先出现.
所以"^"不是运算符,而是表示返回语句.类似地,在"-4"中," - "不是运算符,而是数字文字的一部分.
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |