Ruby || =操作员表现得很有趣

时间:2015-05-22 08:56:04

标签: ruby operators

据我了解,a ||= 7表示以下内容: 如果a有值,请继续使用该值,但如果没有,则将其设置为7.

这是发生的事情。

如果我有ab

a = true

b = false

然后

a ||= b =>真

(在我的解释中:因为' a' DOES有价值,它仍然存在,并且不会等同于“假” - 到目前为止很好。)

但是,如果我将它们切换为:

a = false

b = true

然后a ||= b =>真

所以在这种情况下我的逻辑不起作用,因为它应该返回false,因为' a' a'有一个值,不应该分配' b'"的值,这显然发生在这里。

我错过了什么吗?

1 个答案:

答案 0 :(得分:7)

a || a = b

相当于

b

这意味着如果a falsy ,即afalsenil值会分配给<button ng-if="!hasOpenProposal()" data-ng-click="doStuff()">Create New</button>