Ich wollte ein Objekt in der Produktion abrufen und eine exakte Replik (Kopie seines Inhalts) auf ein anderes Objekt desselben Typs erstellen. Ich habe versucht, dies in 3 Möglichkeiten von Ruby-Konsole, die keiner von ihnen gearbeitet:
-
Nehmen wir an, Sie haben die
tt
als erstes Objekt, das Sie kopieren wollen, undtt2
als Replikationsobjekt. Der erste Ansatz, den ich versucht habe, ist das Klonen des Arraystt2.patients = tt.urls.patients tt2.doctors = tt.segments.doctors tt2.hospitals = tt.pixels.hospitals
-
Der zweite Ansatz, den ich versucht habe, ist das Duplizieren des Arrays, was eigentlich dasselbe ist wie das Klonen des Arrays:
tt2.patients = tt.patients.dup tt2.doctors = tt.doctors.dup tt2.hospitals = tt.hospitals.dup
-
Der dritte Ansatz, den ich ausprobiert habe, ist das 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))
Keines der oben genannten Verfahren funktioniert beim tiefen Kopieren von einem Array in ein anderes. Nachdem ich jeden Ansatz einzeln ausprobiert habe, ist der gesamte Inhalt des ersten Objekts ( tt
) sind nichtig (Patienten, Ärzte und Krankenhäuser sind weg). Haben Sie eine andere Idee, wie man den Inhalt eines Objekts in ein anderes kopieren kann? Danke!