想请教下||=与=的区别,||=是在什么情况下使用比较合适,请大侠帮帮忙
class MyMap def []=(key,value) @status ||= [] @status << {key,value} end
def item=@status.find{ |s|s.keys.first == key} item[key] end end
m=MyMap.new m["key"] =123450 puts m["key"] 想请教下 item=@status.find{ |s|s.keys.first == key}中的 |s|s.keys.first == key 这个是什么用法
||=是空指针保护 a ||= 1 等同于以下代码
if a a else a = 1 end
||= 经常用来做 cache,有些资源需要计算或者从外部去获取,你不想每次调用重复去计算或者连接数据库就用 ||=
||=