Дублирование массива строк Ruby
arr = ["red","green","yellow"]
arr2 = arr.clone
arr2[0].replace("blue")
puts arr.inspect
puts arr2.inspect
производит:
["blue", "green", "yellow"]
["blue", "green", "yellow"]
Есть ли в любом случае сделать глубокую копию массива строк, кроме использования Marshal, как я понимаю, это взломать.
Я мог бы сделать:
arr2 = []
arr.each do |e|
arr2 << e.clone
end
но это не кажется очень элегантным или эффективным.
Спасибо