if (ax_response = OpenID::AX::FetchResponse.from_success_response openid_response)
上面的行,如果我删除()括号,则会抛出语法错误。意外的标识符。为什么?
答案 0 :(得分:6)
Ruby非常善于选择任意语法,但是如果没有括号来指导它有时它无法弄清楚你的意图。在这种情况下,您有两个选择。
围绕if
声明的括号:
if (var = method arg)
end
围绕争论的括号:
if var = method(arg)
end
如果没有某种指导,它就无法锁定你陈述的确切含义。如果您来自像Perl,C ++或JavaScript这样的背景,其中括号不是可选的,这绝不是问题。 Ruby非常宽容。