相关疑难解决方法(0)

为什么Ruby`**`运算符的优先级高于一元`-`?

这导致了如下情况:

-1 ** 0.5 #=> -1
Run Code Online (Sandbox Code Playgroud)

只有括号补救它:

(-1) ** 0.5 #=> 6.123031769111886e-17+1.0i
Run Code Online (Sandbox Code Playgroud)

这比预期的要差1.i,但基本上可以接受.在我向Ruby漏洞抱怨之前,我想知道是否有某种原因可以这样做?

ruby operator-precedence operator-keyword

3
推荐指数
1
解决办法
186
查看次数