Глубокая копия массивов в Ruby

Я хотел получить объект на производстве и сделать точную копию (скопировать его содержимое) на другой объект того же типа. Я попытался сделать это тремя способами из консоли 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) аннулируются (пациенты, врачи и больницы ушли). Есть ли у вас другие идеи по копированию содержимого одного объекта в другой? Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос