-2
假设我有以下代码行:return nil unless app && ip || device
And和Or的运算符优先级
没有括号,Ruby将如何解释优先级? (app && ip) || device
?或app && (ip || device)
?
或者其他方式?
谢谢!
假设我有以下代码行:return nil unless app && ip || device
And和Or的运算符优先级
没有括号,Ruby将如何解释优先级? (app && ip) || device
?或app && (ip || device)
?
或者其他方式?
谢谢!
很简单 - 因为&&
的优先级高于||
,它会被解释为
(app && ip) || device
我建议你总是加括号为了提高可读性,虽然。
@nietonfir你读过两个问题吗?他们完全不同。 –
http://en.wikipedia.org/wiki/Logical_connective#Order_of_precedence –
@MarekLipka我无法看到维基百科页面与问题的关系。事实上,这很容易让人误解,因为在Ruby中,''和''具有比'&&'和'||'更低的优先级。 –