在当前项目中找到:
class Video < ActiveRecord::Base
...
VALID_VIDEO_HOSTS ||= %w(www.youtube.com youtube.com vimeo.com www.vimeo.com)
...
end
通常我使用简单的 VALID_VIDEO_HOSTS = %w(...) 并且没有任何猜测为什么以前的开发人员使用 ||=
有人知道有什么好处吗?
更新
我知道 ||= 在一般情况下的作用,问题主要是关于在模型中以这种方式定义常量。
最佳答案
||=
被用作 memoize the value 的廉价方式,正如其他海报所提到的。然而……
为什么要记住一个常量?
作者很可能在多次加载该源文件时防止警告。 (警告:已初始化常量 VALID_VIDEO_HOSTS
)
关于ruby-on-rails - 在模型中使用 ||= 而不是 = 来定义常量的原因是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070762/