84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
本想google, 但不知道这样的用法怎么去搜索,只能在这问了。 代码:
def current_user @current_user ||= login_from_session end
业精于勤,荒于嬉;行成于思,毁于随。
# 等价于 @current_user = @current_user || login_from_session
如果這樣寫在多行程式碼中,確實是 空指针保护 但在你的問題中,整個方法中只有這一行,這個技巧應該叫 Caching with Instance Variables,為了在多次呼叫這個方法時提高效能
空指针保护
Caching with Instance Variables
@current_user ||= login_from_session # 等价与 @current_user || @current_user = login_from_session # 如果 @current_user 不为 nil 或 false, # 就使 @current_user 值为 login_from_session 的返回值
這是 Ruby 程式設計師的常用方法: 空指针保护 。
如果這樣寫在多行程式碼中,確實是
空指针保护
但在你的問題中,整個方法中只有這一行,這個技巧應該叫
Caching with Instance Variables
,為了在多次呼叫這個方法時提高效能這是 Ruby 程式設計師的常用方法:
空指针保护
。