¿Cuál es la diferencia entre los métodos de duplicación y clon de Ruby?
losDocs de ruby paradup
decir:
En general,clone
ydup
Puede tener diferentes semánticas en las clases descendientes. Mientrasclone
se utiliza para duplicar un objeto, incluido su estado interno,dup
normalmente utiliza la clase del objeto descendente para crear la nueva instancia.
Pero cuando hago una prueba, encuentro que en realidad son lo mismo:
<code>class Test attr_accessor :x end x = Test.new x.x = 7 y = x.dup z = x.clone y.x => 7 z.x => 7 </code>
Entonces, ¿cuáles son las diferencias entre los dos métodos?