0

一部のコーダーがこのコードを使用しているのを見ます:

def client
  client ||= OAuth2::Client.new(G_API_CLIENT, G_API_SECRET, bla)
end

get "/auth" do
  redirect client.auth_code.authorize_url(blabla)
end

とはどういうclient意味def clientですか? それは次のようになりませんか:

def client
  OAuth2::Client.new(G_API_CLIENT, G_API_SECRET, bla)
end

irbで試してみると:

> def test
>   p 'called'
>   test ||= 1
> end
=> nil
> test
"called"
=> 1
> test
"called"
=> 1

したがって、同じメソッド定義内のメソッド名は、再帰を除いて効果がないという結論になります。

4

1 に答える 1