我想要在生產上獲得一個對象,然後將一個確切的副本(複製其內容)複製到另一個相同類型的對象。Ruby中數組的深層副本
比方說,你有
tt
只要你想爲複製對象過去,tt2
複製的第一個對象:我試圖從Ruby控制檯3種方式其中沒有他們的努力這樣做。我嘗試的第一個方法是克隆陣列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
第三種方法我試圖被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))
無上述作品深度複製從一個陣列到另一個。在單獨嘗試每種方法之後,第一個對象(tt
)的所有內容都將被取消(患者,醫生和醫院不在)。你有任何其他想法複製一個對象的內容到另一個?謝謝。
你只是在第一個例子中設置你的變量。請改用tt2.patients = tt.patiens.clone。 – three 2011-12-22 18:44:14