Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在逻辑运算符之前,我必须在ruby函数调用中使用括号吗?_Ruby - Fatal编程技术网

在逻辑运算符之前,我必须在ruby函数调用中使用括号吗?

在逻辑运算符之前,我必须在ruby函数调用中使用括号吗?,ruby,Ruby,“”。但是?(String)和&0==0的实例是真的 ''。的实例?字符串&&0==0 TypeError:需要类或模块 我必须在&&之前使用括号,还是它是一个bug 这不是一个bug。这两件事只是意味着不同的事情 其要点是&&和| |逻辑运算符的优先级高于方法调用。因此,调用的是?方法的实例,\u的结果是字符串&&0==0,这是truetrue不是一个类,因此出现错误 另一方面,和和或的优先级较低,因此 ''.instance_of? String and 0 == 0 会按照你期望的方式工

“”。但是?(String)和&0==0的实例是真的

''。的实例?字符串&&0==0
TypeError:需要类或模块


我必须在
&&
之前使用括号,还是它是一个bug

这不是一个bug。这两件事只是意味着不同的事情

其要点是
&&
| |
逻辑运算符的优先级高于方法调用。因此,调用的是?
方法的
实例,\u的结果是
字符串&&0==0
,这是
true
true
不是一个类,因此出现错误

另一方面,
的优先级较低,因此

''.instance_of? String and 0 == 0
会按照你期望的方式工作

在这种情况下,最好用括号括起来。

实际上这不是一个bug。
虽然Ruby方法调用中的括号是可选的,但当它变得模棱两可时,可能需要括号。

当然这不是一个bug。不要轻易怀疑一个bug。怀疑你自己的想法。Thx,所以一般来说,我应该在ops之前使用括号,对吗?@dimid,如果你想用逻辑运算的结果调用方法,你不必这样做。然而,惯例是这样的——如果你没有论点,就不要提出。如果有,如果方法具有“类似关键字的状态”,则省略它们。在其他情况下-将括号放在适当的位置。