一部のコーダーがこのコードを使用しているのを見ます:
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
したがって、同じメソッド定義内のメソッド名は、再帰を除いて効果がないという結論になります。