1
if (ax_response = OpenID::AX::FetchResponse.from_success_response openid_response)
上述行如果我删除()palenthesis它会引发语法错误..意外的tIdentifier。为什么?为什么remove()for ruby条件引发错误?
if (ax_response = OpenID::AX::FetchResponse.from_success_response openid_response)
上述行如果我删除()palenthesis它会引发语法错误..意外的tIdentifier。为什么?为什么remove()for ruby条件引发错误?
Ruby非常擅长挑选任意语法,但没有括号可以指导它,有时它无法弄清楚你的意图。在这种情况下,你有两个选择。围绕if
声明
支架:
周围参数if (var = method arg)
end
支架:
if var = method(arg)
end
没有某种执教它的不是要能够锁定在你的语句的准确含义。如果您来自像Perl,C++或JavaScript这样的背景,其中的括号不是可选的,那么这绝不是问题。 Ruby非常宽容。
是的答案。谢谢@MrYoshiji – 2013-02-19 19:56:06
你能发布整个异常吗? – Automatico 2013-02-19 19:42:15
哪个标识符是问题?如果仅在'.from_success_response'调用周围放置括号,或者仅在'openid_response'周围放置括号,它会起作用吗? – 2013-02-19 19:43:18
你想把结果赋给'ax_response'还是测试相等? – iamnotmaynard 2013-02-19 19:47:48