Ruby China

新手问题 请问 ||= 这个语法是什么意思呢

whitecrow · 2012年08月27日 · 最后由 whitecrow 回复于 2012年08月27日 · 3235 次阅读

在 Ruby 中常常可以看到这种语法:

def self.middleware
 @middleware ||= begin
 ...... 
end

请问是什么含义?

无引用文章

如果 @middleware 有值,后面的就不会执行了

@middleware = @middleware || begin ... end

最常见的用法是拿来缓存表达式结果(即 begin ... end 只会第一次跑到)。当然对于 rails 来说,仅对同一 request 有效。

@huacnlee @ashchan 理解了,非常感谢 :)

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
分享温暖,保持简洁。

武汉



共收到 3 条回复

AltStyle によって変換されたページ (->オリジナル) /