可能重复:
What does ||= (or equals) mean in Ruby?
RoR: Meaning of “user ||= User.new”
我在this Railscast中看到了它:
@current_user ||= User.find(session[:user_id]) if session[:user_id]
答案 0 :(得分:1)
在Ruby中,我们可以编写以下代码来自行运行。
x += 1
这同样意味着
x = x + 1
在初始化过程中,我们希望仅在变量为零或不存在时才将初始值设置为变量。
例如,
a = a || initial_value
首先,评估左侧条件。 如果a被评估为false,则评估正确的条件,并为a分配initial_value。
而且,我们可以重写
a = a || initial_value
如下
a ||= initial_value