【发布时间】:2011-02-04 12:16:31
【问题描述】:
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
但它看起来不是很优雅,也不是很高效。
谢谢
【问题讨论】:
-
你可以做更短的内联块:arr.each{|e| arr2
标签: ruby arrays copy clone dup