【发布时间】:2011-11-30 02:39:28
【问题描述】:
我正在做一些 ruby 练习,它说我需要返回并使用 += 速记符号重写脚本。
本练习主要涉及学习新方法。问题是,当我尝试在线查找时,我不知道+= 是什么意思。
【问题讨论】:
我正在做一些 ruby 练习,它说我需要返回并使用 += 速记符号重写脚本。
本练习主要涉及学习新方法。问题是,当我尝试在线查找时,我不知道+= 是什么意思。
【问题讨论】:
+= 是一个速记运算符。
someVar += otherVar
和
一样someVar = someVar + otherVar
【讨论】:
someVar = someVar + otherVar 与someVar = someVar.+(otherVar) 相同。随意编写自己的类并在其上实现+,您也可以拥有+= 的魔力!
+ 函数中返回 self 以使 += 按预期工作。
a*=b 和a=a*b 之间的区别吗(有关更多详细信息,请参阅链接)我以为他们是相同,但似乎并非如此。
具有 二元运算符 形式的表达式:
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)
但是,请注意||= 和&&= 的行为可能略有不同……不同(与哈希索引器结合使用时最明显)。很多关于这个奇怪的问题。
编码愉快。
【讨论】:
不是 ruby 专家,但我认为它要么附加到现有字符串,要么增加一个数字变量?
【讨论】:
你应该找一本关于 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"
【讨论】: