【发布时间】:2016-06-03 11:32:28
【问题描述】:
当我这样做时:
puts(nil or 4)
Ruby 抱怨:
SyntaxError: syntax error, unexpected keyword_or, expecting ')'
这是为什么呢? puts(nil || 4) 确实有效,但我想知道为什么 or 没有。我认为两者之间的区别仅在于它们的运算符优先级。
(我知道表达式nil or 4 似乎没什么用,因为它总是返回4。为了简单起见,这只是一个示例。我的实际表达式是Integer(ENV['WD'] or 4)。)
【问题讨论】:
-
奇怪的是,
puts (nil or 4)工作正常 - 在put之后放置了一个空格 -
好像是个bug)
-
如果是bug,
and也有同样的bug。 -
puts((nil or 4))也有效!?! -
@DaveSchweisguth:看我的回答 :)
标签: ruby