Object#clone, Object#dup都是Ruby中的对象复制的方式,但是这两种方式中都只是浅拷贝(Shallow Copy), 而不是Deep Copy. 那么该如何来做deep_copy呢?Ruby中并没有提供现成的方法来处理。可以用开发者自己来实现对象图Graph中的对象的递归的访问。或者可以采用如下的方法来间接地达到对象拷贝的效果。
<pre>
arr1 = [ 1, "flipper", 3 ]
arr2 = Marshal.load(Marshal.dump(arr1))
</pre>