我看到一些编码器使用此代码:
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
因此得出的结论是,同一方法定义中的方法名称除了递归之外没有任何作用。