Rumah  >  Soal Jawab  >  teks badan

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

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

def current_user
    @current_user ||= login_from_session
  end
迷茫迷茫2762 hari yang lalu962

membalas semua(2)saya akan balas

  • PHPz

    PHPz2017-04-21 10:58:39

    # 等价于
    @current_user = @current_user || login_from_session

    Jika ditulis seperti ini dalam berbilang baris kod, ia sememangnya 空指针保护
    Tetapi dalam soalan anda, hanya terdapat baris ini dalam keseluruhan kaedah, helah ini harus dipanggil Caching with Instance Variables, untuk meningkatkan prestasi apabila memanggil kaedah ini beberapa kali

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-21 10:58:39

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

    Ini adalah pendekatan biasa dalam kalangan pengaturcara Ruby: 空指针保护 .

    balas
    0
  • Batalbalas