# Adding an element to a copy of an array

**URL:** <https://www.ruby-forum.com/t/adding-an-element-to-a-copy-of-an-array/192404>\
**Category:** Ruby\
**Created:** [July 29, 2010, 4:36pm UTC](https://www.ruby-forum.com/t/adding-an-element-to-a-copy-of-an-array/192404 "2010-07-29T16:36:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jimb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f4b2a3/32.png) [@jimb](https://www.ruby-forum.com/u/jimb)\
**Post date:** [July 29, 2010, 4:36pm UTC](https://www.ruby-forum.com/t/adding-an-element-to-a-copy-of-an-array/192404/1 "2010-07-29T16:36:32Z")

</div>

Hi,

array = [“one”, “two”, “three”]  
array\_copy = array  
array\_copy \<\< “four”  
p array  
p array\_copy

#=\>  
[“one”, “two”, “three”, “four”]  
[“one”, “two”, “three”, “four”]

How can I add an element to “array\_copy” and leave “array” unaltered?

Cheers.

---

<div class="post-metadata">

**Author:** ![jimb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f4b2a3/32.png) [@jimb](https://www.ruby-forum.com/u/jimb)\
**Post date:** [July 29, 2010, 4:41pm UTC](https://www.ruby-forum.com/t/adding-an-element-to-a-copy-of-an-array/192404/2 "2010-07-29T16:41:53Z")

</div>

Answered my own question.  
Array.dup ist the way to go.

---

<div class="post-metadata">

**Author:** ![jimb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f4b2a3/32.png) [@jimb](https://www.ruby-forum.com/u/jimb)\
**Post date:** [July 29, 2010, 4:48pm UTC](https://www.ruby-forum.com/t/adding-an-element-to-a-copy-of-an-array/192404/3 "2010-07-29T16:48:23Z")

</div>

array = [“one”, “two”, “three”]  
array\_copy = array.clone  
array\_copy \<\< “four”  
p array  
p array\_copy

output:  
[“one”, “two”, “three”]  
[“one”, “two”, “three”, “four”]
