||= 是啥意思? [复制]
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 时设置变量。
【讨论】:
以上是关于||= 是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章