“+=”(加号)是啥意思?

Posted

技术标签:

【中文标题】“+=”(加号)是啥意思?【英文标题】:What does "+=" (plus equals) mean?“+=”(加号)是什么意思? 【发布时间】:2011-11-30 02:39:28 【问题描述】:

我正在做一些 ruby​​ 练习,它说我需要返回并使用 += 速记符号重写脚本。

本练习主要涉及学习新方法。问题是,当我尝试在线查找时,我不知道+= 是什么意思。

【问题讨论】:

What does "+=" (plus equals) mean in Ruby?的可能重复 【参考方案1】:

+= 是一个速记运算符。

someVar += otherVar

一样
someVar = someVar + otherVar

【讨论】:

非常感谢您的帮助,感谢您的快速答复。 someVar = someVar + otherVarsomeVar = someVar.+(otherVar) 相同。随意编写自己的类并在其上实现+,您也可以拥有+= 的魔力! 请注意,您(可能)需要在您的 + 函数中返回 self 以使 += 按预期工作。 我有一些更高级的东西,我想ask here 有人能解释一下a*=ba=a*b 之间的区别吗(有关更多详细信息,请参阅链接)我以为他们是相同,但似乎并非如此。 @MikeH-R - 看起来你已经有了答案 - 操作顺序。【参考方案2】:

具有 二元运算符 形式的表达式:

x = x op y

可以写成:

x op= y

例如:

x += y   # x = x + y
x /= y   # x = x / y
x ||= y  # x = x || y (but see disclaimer)

但是,请注意||=&&= 的行为可能略有不同……不同(与哈希索引器结合使用时最明显)。很多关于这个奇怪的问题。

编码愉快。

【讨论】:

【参考方案3】:

不是 ruby​​ 专家,但我认为它要么附加到现有字符串,要么增加一个数字变量?

【讨论】:

【参考方案4】:

你应该找一本关于 Ruby 的好书,例如http://pragprog.com/book/ruby3/programming-ruby-1-9

前 150 页涵盖了关于 Ruby 的大部分基本内容。

str = "I want to learn Ruby"

i = 0
str.split.each do |word|
  i += 1
end

puts "#i words in the sentence \"#str\""

  => 5 words in the sentence "I want to learn Ruby"

【讨论】:

以上是关于“+=”(加号)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

逻辑运算 ⊙ & 小圆圈里一个加号 是啥意思

linux 中加号是啥意思

java中+count+是啥意思啊!

你好,shell脚本中,使用两个减号,两边没有单词。这个是啥意思?是控制运行参数吗

英文符号的意思

java中输出函数system.out.println("a="+a);中的+是啥意思!