我有一个关于ruby中的||=语句的问题,我对此特别感兴趣,因为我正在使用它来写入memcache。我想知道的是,在调用setter之前,||=是否会先检查接收器是否已设置,或者它实际上是x = x || y
的别名
在正常变量的情况下,这并不重要,但使用以下内容:
CACHE[:some_key] ||= "Some String"
可以执行memcache写入,这比简单的变量集更昂贵。奇怪的是,我在ruby api中找不到任何关于||=的东西,所以我自己也无法回答这个问题。
我当然知道:
CACHE[:some_key] = "Some String" if CACHE[:some_key].nil?
要实现这一点,我只是在寻找最简洁的语法。
https://stackoverflow.com/questions/2989862
复制相似问题