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

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

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

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

membalas semua(2)
PHPzhong
# 等价于
@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

伊谢尔伦
@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: 空指针保护 .

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan