||= 是啥意思? [复制]

Posted

技术标签:

【中文标题】||= 是啥意思? [复制]【英文标题】:What does ||= mean? [duplicate]||= 是什么意思? [复制] 【发布时间】:2012-07-19 22:47:19 【问题描述】:

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

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

【问题讨论】:

复制:What does ||= mean in Ruby?,What does ||= mean in Ruby?,what is ||= in ruby?,Double Pipe Symbols in Ruby Variable Assignment?,What does the “||=” operand stand for in ruby,what does a ||= mean in Ruby language?,Is the ruby operator ||= intelligent?,... …What does ||= mean?、What does “||=” do in Ruby 1.9.2?'||=' operator in Ruby、What does the '||=' operator do in ruby?、How does “||=” work?,可能还有许多其他人。另请参阅The definitive list of ||= (OR Equal) threads and pages。 使用 symbolhound.com 搜索符号。 @JörgWMittag 为什么要列出所有重复项? 【参考方案1】:

它是一个赋值运算符,意思是:或者把这个值赋给一个变量。

所以如果你做了类似x ||= y这意味着x || x = y 那么如果 x 为 nil 或 false 则将 x 设置为 y 的值。

【讨论】:

我正在查看上面“条件分配”下发布的@Marc B 链接。 它本质上是一样的。如果你在做 x = x || y,如果只要左操作数返回 false,就会计算右操作数。在你使用 x ||= y 的情况下,如果 x 为假 x 得到 y 并且 x = x|| y,如果 x != x (false) x 得到 y。 您在回答这个问题时知道这是一个重复的问题吗? 不,我不知道它是重复的。【参考方案2】:

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

【讨论】:

以上是关于||= 是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

||= 是啥意思? [复制]

“?”是啥意思?调用jsp时标记是啥意思? [复制]

";" 是啥意思?在“if”块内是啥意思? [复制]

=& 是啥意思? [复制]

JavaScript:“!!”是啥意思? [复制]

“应用程序框架”是啥意思? [复制]