Duplicar una matriz de cadenas Ruby
arr = ["red","green","yellow"]
arr2 = arr.clone
arr2[0].replace("blue")
puts arr.inspect
puts arr2.inspect
produce:
["blue", "green", "yellow"]
["blue", "green", "yellow"]
¿Hay alguna forma de hacer una copia profunda de una serie de cadenas, aparte de usar Marshal, ya que entiendo que es un hack?
Yo podría hacer:
arr2 = []
arr.each do |e|
arr2 << e.clone
end
pero no parece muy elegante o eficiente.
Gracias