2013-07-14 36 views

回答

6

红宝石变量持有引用对象和=操作复制引用

看来你想clonea

irb(main):001:0> a = [1,2,3,4] 
=> [1, 2, 3, 4] 
irb(main):002:0> b = a.clone << 5 
=> [1, 2, 3, 4, 5] 
irb(main):003:0> a 
=> [1, 2, 3, 4] 
irb(main):004:0> b 
=> [1, 2, 3, 4, 5] 
+4

也许['dup' ](http://www.ruby-doc.org/core-2.0/Object.html#method-i-dup),取决于OP想要什么。另请参见[Ruby的'dup'和'clone'方法有什么区别?](http://stackoverflow.com/questions/10183370/whats-the-differences-between-ruby-dup-and-clone-method) –

+0

@AndrewMarshall:好的,谢谢! – Johnsyweb

9

算了笔两个数组:

a = [1,2,3,4] 
b = a + [5] 

# b == [1, 2, 3, 4, 5] 
# a == [1, 2, 3, 4] 
4

我通常做这种方式:

b = [*a, 5] 
+2

或更简单:'b = * a,5' –

+0

这样比较好。 – sawa