Я хотел получить объект в производство и сделать точную копию (скопировать его содержимое) на другой объект того же типа. Я пробовал сделать это тремя способами из консоли ruby, но ни один из них не работал:
Допустим, у вас есть tt
в качестве первого объекта, который вы хотите скопировать, и tt2
в качестве реплика объекта. Первый подход, который я попробовал, - это клонирование массива
tt2.patients = tt.urls.patients.
tt2.doctors = tt.segments.doctors
tt2.hospitals = tt.pixels.hospitals
Второй подход, который я пробовал, - это дублирование массива, которое фактически совпадает с клонированием массива:
tt2.patients = tt.patients.dup
tt2.doctors = tt.doctors.dup
tt2.hospitals = tt.hospitals.dup
Третий подход, который я пробовал, - это маршаллинг.
tt2.patients = Marshal.load (Marshal.dump (tt.patients))
tt2.doctors = Marshal.load (Marshal.dump (tt.doctors))
tt2.hospitals = Marshal.load (Marshal.dump (tt.hospitals))
Ничего из вышеперечисленного не работает для глубокого копирования из одного массива в другой. После опробования каждого подхода по отдельности, описанного выше, все содержимое первого объекта ( tt
) обнуляется (пациенты, врачи и больницы исчезают). Есть ли у вас другие идеи по копированию содержимого одного объекта в другой? Спасибо.