cual es la diferencia entre clone() y dup() en ruby?
Andrés Felipe Vargas
[ Admin ]
Mientras que clone duplica la instancia en su estado actual dup copia los datos en nueva instancia. ejemplo:
module Tales
class Uno
def hmm
"hmm"
end
end
end
a = Tales::Uno.new
def a.hmm
"zomg"
end
b = a.clone
c = a.dup
p a.hmm
p b.hmm
p c.hmm
produce :
“zomg” “zomg” “hmm”
como se ve en el ejemplo clone duplicó la instancia incluso con el método creado en tiempo de ejecución, mientras que dup creó una instancia nueva.
