首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy运算符(**)是否在相联性中断裂?

Groovy运算符(**)是否在相联性中断裂?
EN

Stack Overflow用户
提问于 2019-12-27 10:11:29
回答 1查看 92关注 0票数 2

在Groovy 3.0中(Groovy版本:3.0.0-RC-1JVM: 11.0.2)

代码语言:javascript
复制
println 3**3**3
println 3.0**3.0**3.0

给出

代码语言:javascript
复制
19683
19683

在Python (Python3.5.2)中,我从终端获得

代码语言:javascript
复制
>>> 3**3**3
7625597484987
>>> (3**3)**3
19683

官方网站没有给出任何指示。

到目前为止,Groovy中是否出现了故障?

编辑

答案在堆栈过流math.stackexchange表明,数学惯例是,指数是正确的结合。

缺陷是已定义作为软件产品中不满足软件需求(如需求规范中所述)或最终用户期望(可能未指定但合理)的条件。

既然这种合理的期望是以一种无记录的方式被违反的,这难道不是一个错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-27 10:20:21

不,它没有坏

它只是从左到右结合,就像所有其他运算符一样。

在python中,**具有从右到左的结合性,所以这一点也没有中断。

他们只是有不同的规则

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59499134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档