Copia profunda de matrices en Ruby
Quería obtener un objeto en producción y hacer una réplica exacta (copiar sobre su contenido) a otro objeto del mismo tipo. Intenté hacer esto de 3 maneras desde la consola ruby, que ninguno de ellos funcionó:
Digamos que tienes latt
como el primer objeto que desea copiar ytt2
como el objeto de réplica. El primer enfoque que probé es clonar la matriz
tt2.patients = tt.urls.patients
tt2.doctors = tt.segments.doctors
tt2.hospitals = tt.pixels.hospitals
l segundo enfoque que probé es duplicar la matriz, que en realidad es lo mismo que clonar la matriz:
tt2.patients = tt.patients.dup
tt2.doctors = tt.doctors.dup
tt2.hospitals = tt.hospitals.dup
l tercer enfoque que probé es marhsalling.
tt2.patients = Marshal.load(Marshal.dump(tt.patients))
tt2.doctors = Marshal.load(Marshal.dump(tt.doctors))
tt2.hospitals = Marshal.load(Marshal.dump(tt.hospitals))
Ninguno de los anteriores funciona para copiar en profundidad de una matriz a otra. Después de probar cada enfoque individualmente arriba, todos los contenidos del primer objeto tt
) están anulados (pacientes, médicos y hospitales se han ido). ¿Tiene alguna otra idea para copiar el contenido de un objeto a otro? Gracias