我正在编写一个Rails应用程序中的jsonify视图。我有:
json.samba_secrets_present(not @idp_ad_info.samba_secrets.nil?)
这会产生一个语法错误:
app/views/idp_ad_infos/show.jsonify:7: syntax error, unexpected tIVAR, expecting '('
然而,(下文无翻译要求)
json.samba_secrets_present (not @idp_ad_info.samba_secrets.nil?)
运行良好。我本来以为第一个方法调用是在Jsonify::Builder
对象上调用samba_secrets_present
方法,第一个参数为not idp_ad_info.samba_secrets.nil?
。为什么空格很重要?
puts(not true)
会失败,但puts((not true))
可以正常工作。我忘记了这一点。(或者根据答案所示,这不是一个错误,而是一个解析问题?) - Dave Newtonnot
而不是!
的用例是什么?另一个 SO 回答说!
有最高的优先级,而not
有最低的优先级之一...但我仍然在寻找使用not
的理由。我宁愿使用括号来强制执行所需的操作顺序。 - Sunil D.