ruby - @current_user ||= login_from_session 中 ||= 的用法 ?

 -Dear-xi 发布于 2022-10-25 09:15

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

def current_user
    @current_user ||= login_from_session
  end
2 个回答
  • @current_user ||= login_from_session
    # 等价与
    @current_user || @current_user = login_from_session
    # 如果 @current_user 不为 nil 或 false,
    # 就使 @current_user 值为 login_from_session 的返回值

    这是 Ruby 程序员的常用方法: 空指针保护

    2022-10-26 14:44 回答
  • # 等价于
    @current_user = @current_user || login_from_session

    如果这样写在多行代码中,确实是 空指针保护
    但在你的问题中,整个方法中只有这一行,这个技巧应该叫 Caching with Instance Variables,为了在多次调用这个方法时提高性能

    2022-10-26 14:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有