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

Respuestas a la pregunta(6)

Su respuesta a la pregunta