[英]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" )
应该如何改善这条线以消除警告?
警告是
(...) interpreted as grouped expression
而且它的含义完全相同:在Ruby中,括号可用于三个目的:表达式分组,参数列表和参数列表。 当Ruby认为您需要参数列表但改为编写分组表达式时,将发出此警告。 最常见的原因是消息名称和消息发送中的参数列表之间的空格,如下所示:
foo.bar (1, 2)
这将不会被解释为对消息发送一个参数列表,而是一个分组表达,其在此特定情况下,是一个SyntaxError
。
在您的特定情况下,警告似乎是误报。
尝试删除not
和括号之间的空间
我收到的警告来自MRI Ruby本身(带有-wc
选项),我认为您那里有错字。 我收到的消息没有单词“ grounded”,而是“ grouped”。
Ruby中的括号可用于以下两种情况之一,以对表达式进行分组或标记函数或方法的参数列表。
该错误消息表示的是这两个选项,Ruby将其视为一个表达式。 请注意,在Ruby中可以定义一个名为“ not”的方法。
在这种特殊情况下,Ruby解释括号的方式并不重要。
消除该消息的一种方法是删除“ not(”之间的空格。如果您认为这很麻烦,则我同意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.