16

可能重复:
||=(或等于)在 Ruby 中是什么意思?
||= 是什么意思?

我刚开始学习 RubyMotion,在很多例子中我都看到了它的||=语法。这是什么意思?

这是一个例子:

def window
  @window ||= begin
    w = UIWindow.alloc.initWithFrame UIScreen.mainScreen.bounds
    w.rootViewController = @navigationController
    w
end

很难搜索符号,谷歌忽略了我查询中的符号。

4

2 回答 2

32

它是一个赋值运算符,意思是:或将此值分配给一个变量。

所以如果你做了这样x ||= y的事情x || x = y,那么如果 x 为 nil 或 false,则将 x 设置为 y 的值。

于 2012-07-20T16:10:14.247 回答
3

此运算符仅在变量为 false 或 Nil 时设置变量。

于 2012-07-20T16:13:13.403 回答