【问题标题】:What does "+=" (plus equals) mean in Ruby? [closed]Ruby 中的“+=”(加号)是什么意思? [关闭]
【发布时间】:2012-04-18 20:01:20
【问题描述】:

我正在学习 Ruby 教程,但我无法掌握 += 语句。谷歌没有帮助,“Ruby +=”只搜索“Ruby”。

感谢您的帮助。

示例:

num = -10
num += -1 if num < 0
puts num   
#=> -11

【问题讨论】:

标签: ruby


【解决方案1】:
num += -1

等价于

num = num + -1

或者,对于这个例子

num = num - 1

又可以写成

num -= 1

【讨论】:

  • 另请注意,几乎任何运算符都可以与= 组合:&amp;&amp;=||=&amp;=|=*=/= 等等。请参阅this table from the Pickaxe 中的“分配”。
【解决方案2】:

它同时做两件事。

(1) 将 + 1 加到 num (2) 将结果赋值给 num

它的快捷方式:

num = num + 1

【讨论】:

    【解决方案3】:

    片段a += b 只是a = a + b 的缩写形式。所以你的陈述:

    num += -1 if num < 0
    

    如果它已经是负数(如果num &lt; 0),将简单地从num 中减去一个(通过添加-1 这是......古怪,这可能是尽可能礼貌)..

    【讨论】:

      猜你喜欢
      • 2011-04-18
      • 2021-10-18
      • 1970-01-01
      • 2011-11-30
      • 2020-06-29
      • 2010-12-29
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多