2
if (ax_response = OpenID::AX::FetchResponse.from_success_response openid_response)

上記の行で () 括弧を削除すると、構文エラー ..Unexpected tIdentifier がスローされます。なんで ?

4

1 に答える 1

7

Rubyは任意の構文を選択するのはかなり得意ですが、それを指導するための括弧がないと、意図を理解できない場合があります。この場合、2つの選択肢があります。

ifステートメントを囲む括弧:

if (var = method arg)
end

引数の括弧:

if var = method(arg)
end

ある種のコーチングがなければ、あなたの発言の正確な意味に固執することはできません。Perl、C ++、JavaScriptなど、角かっこがオプションではないバックグラウンドを使用している場合、これが問題になることはありません。Rubyは非常に寛容です。

于 2013-02-19T19:53:05.750 に答える