मैं स्कैला का मूल्यांकन कर रहा हूं और इसके अपरिवर्तनीय संग्रह में समस्या है।स्कैला के अपरिवर्तनीय संग्रहों को अपरिवर्तनीय वस्तुओं को कैसे बनाए रखें
मैं अपरिवर्तनीय संग्रह बनाना चाहता हूं, जो पूरी तरह से अपरिवर्तनीय हैं, सभी निहित वस्तुओं के माध्यम से नीचे, वस्तुओं को संदर्भित करते हैं, विज्ञापन infinitum।
क्या ऐसा करने का कोई आसान तरीका है?
http://www.finalcog.com/immutable-containers-scala पर कोड बताता है कि मैं क्या हासिल करने की कोशिश कर रहा हूं, और आस-पास के काम (ImmutablePoint)।
कामकाज के साथ समस्या यह है कि हर बार जब मैं किसी ऑब्जेक्ट को बदलना चाहता हूं तो मुझे मैन्युअल रूप से एक नई प्रतिलिपि बनाना होगा। मैं समझता हूं कि रनटाइम को कॉपी-ऑन-राइट लागू करना होगा, लेकिन क्या इसे डेवलपर को पारदर्शी बनाया जा सकता है?
मुझे लगता है कि मैं अपरिवर्तनीय ऑब्जेक्ट्स बनाना चाहता हूं, जहां विधियां वर्तमान ऑब्जेक्ट स्टेटस बदलती हैं, लेकिन ऑब्जेक्ट के सभी अन्य 'वैल' (और सभी अपरिवर्तनीय कंटेनर) संदर्भ 'पुराने' स्थिति को बनाए रखते हैं।
यह पेपर आपको रूचि दे सकता है: http://lamp.epfl.ch/~phaller/capabilities.html –
उत्कृष्ट पढ़ने सामग्री, धन्यवाद। – fadedbee