可能重复:
What does ||= (or equals) mean in Ruby?
What does ||= mean?
我刚开始学习RubyMotion,在很多例子中我看到了||=
语法。这是什么意思?
以下是一个例子:
def window
@window ||= begin
w = UIWindow.alloc.initWithFrame UIScreen.mainScreen.bounds
w.rootViewController = @navigationController
w
end
搜索符号很困难,谷歌忽略了我的查询中的符号。
答案 0 :(得分:23)
它是一个赋值运算符,表示:或将此值赋给变量。
因此,如果您执行类似x ||= y
的操作,则表示x || x = y
,因此如果x为nil或false,则将x设置为y的值。
答案 1 :(得分:2)
如果变量为false或Nil,则此运算符仅设置变量。