में सरणी की गहरी प्रतिलिपि मैं उत्पादन पर एक वस्तु प्राप्त करना चाहता था और एक सटीक प्रतिकृति (इसकी सामग्री पर प्रतिलिपि) एक ही प्रकार की दूसरी वस्तु पर करना चाहता था।रूबी
मान लीजिए कि आप पहली वस्तु आप प्रतिकृति वस्तु के रूप में पदभार और
tt2
प्रतिलिपि बनाना चाहते हैं के रूप मेंtt
करते हैं: मैं रूबी कंसोल से 3 तरीकों से उनमें से कोई भी काम में ऐसा करने की कोशिश की।tt2.patients = tt.patients.dup tt2.doctors = tt.doctors.dup tt2.hospitals = tt.hospitals.dup
तीसरा दृष्टिकोण मैंने कोशिश की marhsalling है: पहले दृष्टिकोण मैंने कोशिश की सरणी
tt2.patients = tt.urls.patients tt2.doctors = tt.segments.doctors tt2.hospitals = tt.pixels.hospitals
दूसरा दृष्टिकोण मैंने कोशिश की सरणी जो वास्तव में सरणी क्लोनिंग रूप में ही है डुप्लिकेट कर रही है क्लोनिंग कर रहा है। ऊपर एक से दूसरे सरणी से गहरी प्रतिलिपि बनाने के लिए काम करता है के
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
) की सभी सामग्री को निरस्त कर दिया गया है (रोगी, डॉक्टर और अस्पताल चले गए हैं)। क्या आपके पास एक ऑब्जेक्ट की सामग्री को दूसरे पर कॉपी करने पर कोई अन्य विचार है? धन्यवाद।
@bar = @ foo.clone
@ bar.save
आप केवल पहले उदाहरण में अपने चर सेट कर रहे हैं। इसके बजाय tt2.patients = tt.patiens.clone आज़माएं। – three