Groovy 幂运算符 (**) 是否在关联性中被破坏?

Is Groovy Power Operator (**) Broken in Associativity?

在Groovy3.0(Groovy版本:3.0.0-rc-1 JVM:11.0.2)

println 3**3**3
println 3.0**3.0**3.0

给予

19683
19683

在终端的Python (Python 3.5.2) 中,我得到

>>> 3**3**3
7625597484987
>>> (3**3)**3
19683

official site没有给出任何指示。

目前 Groovy 中的 ** 坏了吗?


编辑

, math.stackexchange 中的答案清楚地表明数学约定是求幂是右结合的。

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

由于以未记录的方式违反了这一合理预期,这不是一个错误吗?

没有,没坏

与所有其他运算符一样,它只是具有从左到右的结合性

在 python 中 ** 具有从右到左的结合性,所以这也没有被破坏

他们只是有不同的规则