本帖最后由 taroxd 于 2014-10-19 12:24 编辑
clone 也只是浅复制而已。要深度复制的话还是 Marshal 一下吧
a = %w(a b c d e f) b = a.clone c = Marshal.load Marshal.dump a a.each &:clear p b #=> ["", "", "", "", "", ""] p c #=> ["a", "b", "c", "d", "e", "f"]
a = %w(a b c d e f)
b = a.clone
c = Marshal.load Marshal.dump a
a.each &:clear
p b #=> ["", "", "", "", "", ""]
p c #=> ["a", "b", "c", "d", "e", "f"]
|