我想在Ruby中连接两个Arrays。到目前为止,我找到了#concat
和+=
运算符。它们似乎产生了相同的结果,但我想知道它们之间有什么区别。
+=
运营商的文档?#concat
和在数组上使用+=
运算符之间有什么区别?答案 0 :(得分:11)
+=
会创建一个新的数组对象,concat
会改变原始对象
a = [1,2]
a.object_id # => 19388760
a += [1]
a.object_id # => 18971360
b = [1,2]
b.object_id # => 18937180
b.concat [1]
b.object_id # => 18937180
请注意,object_id
的{{1}}已更改,而a
未更改