शायद मैं आज भी अपनी स्क्रीन पर बहुत लंबे समय से देख रहा हूं, लेकिन मुझे लगता है कि कुछ बुनियादी होना चाहिए मुझे छोड़ना।रूबी वैरिएबल की प्रतिलिपि कैसे करें?
मैं एक चर की 'प्रतिलिपि' बनाने की कोशिश कर रहा हूं ताकि मैं मूल को संशोधित किए बिना इसे कुशल बना सकूं।
# original var is set
foo = ["a","b","c"]
# i want a copy of the original var so i dont modify the original
bar = foo
# modify the copied var
bar.delete("b")
# output the values
puts bar # outputs: ["a","c"] - this is right
puts foo # outputs: ["a","c"] - why is this also getting modified?
मुझे foo
बदलना नहीं है।
आप एक चर की प्रतिलिपि नहीं बना सकते हैं। आप जो भी कर सकते हैं वह ऑब्जेक्ट कॉपी करता है जो एक चर को संदर्भित करता है। यह pedantic लग सकता है, लेकिन एक वस्तु और एक चर के बीच अंतर को समझने से भ्रम पैदा हो सकता है। –