【问题标题】:Ruby Operators difference [duplicate]Ruby运算符的区别[重复]
【发布时间】:2013-07-31 13:03:09
【问题描述】:

我想知道 ruby​​ 中 = 和 ||= 运算符之间的区别。在文档中,它说 = %= { /= -= += |= &= >>= = &&= ||= *= 是赋值运算符。

【问题讨论】:

    标签: ruby


    【解决方案1】:

    a ||= ba = a || b 的缩写

    在 ruby​​ nil 中,计算结果为 false。所以如果a是nilfalse,a会被赋值为b的值

    【讨论】:

    • 这是错误的。 ||= 没有像 += 和其他的那样的简单扩展,如果你想找到一个至少有点接近实际语义的简单扩展,它会是a || a = b,不是a = a || b
    【解决方案2】:

    ||=之前的变量如果是!= nil,则接收运算符之后的值。

    【讨论】:

    • 不,如果afalse,它也会执行分配。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2010-12-30
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 2017-12-25
    相关资源
    最近更新 更多