मैं एफ # में एक गेम ऑब्जेक्ट डिज़ाइन कर रहा हूं। सी ++ में, मैं कक्षाओं को ग्राफिकल पहलू, भौतिक आदि का प्रतिनिधित्व करने के लिए गतिशील मूल्यों का प्रतिनिधित्व करता हूं, और उसके बाद उन कक्षाओं के उदाहरण को GameObject में जोड़ता हूं। मैं म्यूटेबल प्रकारों के साथ एफ # में एक ही डिजाइन का उपयोग कर सकता हूं, लेकिन मैं सब कुछ अपरिवर्तनीय रखने की कोशिश कर रहा हूं। इसलिए यदि मैंने एक ही डिजाइन का उपयोग किया तो मैं प्रत्येक फ्रेम की हजारों बड़ी वस्तुओं को पुनर्निर्माण कर रहा हूं, और संभवतः आवंटित सभी सीपीयू समय व्यतीत करता हूं।अपडेट किए जाने वाले टुकड़ों के साथ एक बड़े अपरिवर्तनीय प्रकार को परिभाषित करने का सही तरीका?
क्या कोई तरीका है कि मैं एक प्रकार को परिभाषित कर सकता हूं जहां मैं किसी अन्य ऑब्जेक्ट के मूल्यों से लिंक कर सकता हूं और आवंटन में कटौती करने के लिए नए आपूर्ति कर सकता हूं? वास्तव में
let box = ...
...
let changedBox = {box with
graphics = { box.graphics with colour = blue} }
यह समझ में आता है। मेरी समस्या यह थी कि मैंने सोचा कि वस्तुओं का पुन: उपयोग करने के बजाय कॉपी किया जाएगा। धन्यवाद महोदय। इसके अलावा मैं आपके ब्लॉग को पढ़ने का आनंद लेता हूं, यही वजह है कि मैं एफ # में आया हूं :) – Patrick