繁体   English   中英

“(...)解释为分组表达”是什么意思?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM