什么是|| =是什么意思?

时间:2012-07-20 16:06:57

标签: ruby

  

可能重复:
  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

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

2 个答案:

答案 0 :(得分:23)

它是一个赋值运算符,表示:或将此值赋给变量。

因此,如果您执行类似x ||= y的操作,则表示x || x = y,因此如果x为nil或false,则将x设置为y的值。

答案 1 :(得分:2)

如果变量为false或Nil,则此运算符仅设置变量。