为什么会出现以下错误:
irb >> x == "AN" && arr.include? ("bar")
SyntaxError: (irb):80: syntax error, unexpected tLPAREN_ARG, expecting $end
x == "AN" && arr.include? ("bar")
^
但这工作正常:
x == "AN" && (arr.include? ("bar"))
它看起来是这样做的:( x == "AN"&& arr.include? ) && ("bar")
。这里有什么歧义?
最佳答案
你不应该隔开你的论点,它会导致混淆的解释:
x == "AN" && arr.include?("bar")
歧义在于试图确定 ("bar")
是参数还是其他东西。
有些情况下您可以不加空格,但这通常是您不想养成的习惯。
关于Ruby 表达式解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18791373/