“(...)解释为分组表达式”是什么意思?
What does "(...) interpreted as grouped expression" mean?
我在 Atom 中使用 Ruby linter,对于某些行,它会发出以下警告:
(...) interpreted as grouped expression
收到此警告的行示例如下:
elsif not (params[:vacancy].nil? or params[:vacancy]['company_id'].nil? or params[:vacancy]['company_id'] == "0" )
应该如何改进该行以使警告消失?
尝试删除 not
和括号
之间的 space
警告是
(...) interpreted as grouped expression
它的意思就是它所说的:在Ruby中,括号可以用于三个目的,表达式分组、参数列表和参数列表。当 Ruby 认为您需要一个参数列表但却编写了一个分组表达式时,会发出此警告。最常见的原因是消息名称和消息发送中的参数列表之间的空格,如下所示:
foo.bar (1, 2)
这将被解释为 而不是 消息发送的参数列表,而是一个分组表达式,在这种特殊情况下,它是一个 SyntaxError
。
在您的特定情况下,警告似乎是误报。
我收到的警告来自 MRI Ruby 本身(带有选项 -wc
),我认为你有错字。我收到的消息没有 "grounded" 一词,而是 "grouped"。
Ruby 中的圆括号可用于以下两种情况之一:对表达式进行分组或标记函数或方法的参数列表。
该错误消息的意思是,在这两个选项中,Ruby 将其视为表达式。请注意,在 Ruby 中,您可以定义一个名为 "not" 的方法。
并且在这种特殊情况下,Ruby 以何种方式解释括号并不重要。
删除消息的一种方法是删除 "not (" 之间的 space。如果你认为这很古怪,我同意你的看法。
我在 Atom 中使用 Ruby linter,对于某些行,它会发出以下警告:
(...) interpreted as grouped expression
收到此警告的行示例如下:
elsif not (params[:vacancy].nil? or params[:vacancy]['company_id'].nil? or params[:vacancy]['company_id'] == "0" )
应该如何改进该行以使警告消失?
尝试删除 not
和括号
警告是
(...) interpreted as grouped expression
它的意思就是它所说的:在Ruby中,括号可以用于三个目的,表达式分组、参数列表和参数列表。当 Ruby 认为您需要一个参数列表但却编写了一个分组表达式时,会发出此警告。最常见的原因是消息名称和消息发送中的参数列表之间的空格,如下所示:
foo.bar (1, 2)
这将被解释为 而不是 消息发送的参数列表,而是一个分组表达式,在这种特殊情况下,它是一个 SyntaxError
。
在您的特定情况下,警告似乎是误报。
我收到的警告来自 MRI Ruby 本身(带有选项 -wc
),我认为你有错字。我收到的消息没有 "grounded" 一词,而是 "grouped"。
Ruby 中的圆括号可用于以下两种情况之一:对表达式进行分组或标记函数或方法的参数列表。
该错误消息的意思是,在这两个选项中,Ruby 将其视为表达式。请注意,在 Ruby 中,您可以定义一个名为 "not" 的方法。
并且在这种特殊情况下,Ruby 以何种方式解释括号并不重要。
删除消息的一种方法是删除 "not (" 之间的 space。如果你认为这很古怪,我同意你的看法。