arr = ["red","green","yellow"]
arr2 = arr.clone
arr2[0].replace("blue")
puts arr.inspect
puts arr2.inspect
产生:
["blue", "green", "yellow"]
["blue", "green", "yellow"]
无论如何,除了使用 Marshal 之外,是否可以对字符串数组进行深层复制,因为我知道这是一种 hack。
我可以做:
arr2 = []
arr.each do |e|
arr2 << e.clone
end
但它似乎不是很优雅或高效。
谢谢