<分区>
在 Ruby 1.8.7 上,当我发现 <<
之间似乎存在巨大差异时,我正在循环连接字符串。和 +=
在 String
上对象:
y = ""
start = Time.now
99999.times { |x| y += "some new string" }
puts "Time: #{Time.now - start}"
# Time: 31.56718
y=''
start = Time.now
99999.times { |x| y << "some new string" }
puts "Time: #{Time.now - start}"
# Time: 0.018256
我用谷歌搜索了一下,找到了一些结果:
http://www.rubylove.info/post/1038516765/difference-between-string-concatenation-ruby-rails
说<<
修改两个字符串,而 +=
只修改调用者。我不明白为什么是 <<
更快。
接下来我去了 Ruby 文档,但我想知道为什么没有方法 +=