ruby - @current_user ||= login_from_session 中 ||= 的用法 ?
迷茫
迷茫 2017-04-21 10:56:39
0
2
965

本想google, 但不知道这样的用法怎么去搜索,只能在这问了。
代码:

def current_user
    @current_user ||= login_from_session
  end
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(2)
PHPzhong
# 等价于
@current_user = @current_user || login_from_session

Si écrit ainsi sur plusieurs lignes de code, c'est bien 空指针保护
Mais dans votre question, il n'y a que cette ligne dans toute la méthode, cette astuce devrait être appelée Caching with Instance Variables, afin d'améliorer les performances lors de l'appel de cette méthode plusieurs fois

伊谢尔伦
@current_user ||= login_from_session
# 等价与
@current_user || @current_user = login_from_session
# 如果 @current_user 不为 nil 或 false,
# 就使 @current_user 值为 login_from_session 的返回值

Il s'agit d'une approche courante parmi les programmeurs Ruby : 空指针保护 .

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal