__copyinit__ मेथड
परिभाषित कीजिए कि आपका प्रकार अपनी प्रतिलिपि कैसे बनाता है।
__copyinit__ मेथड, CoddyKit पर Mojo Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Mojo Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
प्रतिलिपि बनाने का तरीका परिभाषित करना
जब किसी मान की प्रतिलिपि बनाई जाती है, तो Mojo __copyinit__ नाम की विशेष विधि को कॉल करता है। यह किसी मौजूदा मान से एक नया उदाहरण बनाती है। 📋
यह मान-निर्धारण पर चलती है
जब भी प्रतिलिपि बनती है, जैसे सामान्य मान-निर्धारण में, __copyinit__ चलती है। यही वह हुक है जो तय करता है कि आपके प्रकार की प्रतिलिपि बनाने का अर्थ क्या है।
विधि का हस्ताक्षर
इसे भरने के लिए नया उदाहरण और जिस मौजूदा मान से प्रतिलिपि बनानी है, वह केवल-पठन रूप में मिलता है। आप नए उदाहरण के प्रत्येक फ़ील्ड का मान निर्धारित करते हैं।
fn __copyinit__(out self, existing: Self):
self.x = existing.xहर फ़ील्ड को प्रारंभ करें
__copyinit__ के अंदर आपका काम नए उदाहरण के सभी फ़ील्ड को मान्य मान देना है, जो आम तौर पर existing से लिए जाते हैं।
गहरी और उथली प्रतिलिपियाँ
हीप डेटा के लिए आपको तय करना होता है: पॉइंटर की प्रतिलिपि बनाएँ या बफ़र के लिए नई जगह लेकर उसका क्लोन बनाएँ। वास्तविक गहरी प्रतिलिपि पूरी स्वतंत्रता देती है।
स्वतंत्रता महत्वपूर्ण क्यों है
सही __copyinit__ यह सुनिश्चित करती है कि प्रतिलिपि अपने डेटा की स्वामी हो। तब प्रतिलिपि में किया गया बदलाव मूल मान तक नहीं पहुँचता।
अक्सर आपके लिए बनाई जाती है
आप इसे हाथ से बहुत कम लिखते हैं। किसी प्रकार को Copyable चिह्नित करने पर Mojo फ़ील्ड-दर-फ़ील्ड __copyinit__ अपने-आप बना देता है।
@fieldwise_init
struct Point(Copyable):
var x: Intइसे स्वयं कब लिखें
__copyinit__ को हाथ से तभी लिखें जब डिफ़ॉल्ट व्यवहार सही न हो, जैसे ऐसे कच्चे बफ़र को संभालते समय जिसका क्लोन बनाना आवश्यक हो।
यह प्रतिलिपि के अर्थ को परिभाषित करती है
यही विधि वास्तव में आपके प्रकार को प्रतिलिपि-योग्य बनाती है। इसके बिना Mojo मान-निर्धारण के समय आपके मान की प्रतिलिपि नहीं बना सकता।
इसे सही और कम लागत वाला रखें
अच्छा __copyinit__ पहले सही और फिर हल्का होना चाहिए। केवल उतना ही कॉपी करें जितना आवश्यक हो, ताकि दोहराव की लागत कम रहे।
सुरक्षा की एक आधारशिला
स्थानांतरण के साथ मिलकर __copyinit__ Mojo को अनुमानित मान-व्यवहार देता है। आप ठीक-ठीक नियंत्रित करते हैं कि डेटा कैसे दोहराया जाए।
त्वरित जाँच
आइए प्रतिलिपि प्रारंभक की जाँच करें।
पुनरावलोकन
__copyinit__ यह परिभाषित करती है कि आपका प्रकार अपनी प्रतिलिपि कैसे बनाएगा और एक स्वतंत्र उदाहरण तैयार करती है। Mojo इसे अक्सर अपने-आप बनाता है, लेकिन आप इसे अनुकूलित कर सकते हैं। 🎯
एआई शिक्षक के साथ Mojo सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “__copyinit__ मेथड” पाठ निःशुल्क है?
हाँ — Mojo Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “__copyinit__ मेथड” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“__copyinit__ मेथड” में मैं क्या सीखूँगा?
परिभाषित कीजिए कि आपका प्रकार अपनी प्रतिलिपि कैसे बनाता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Mojo Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Mojo Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Mojo Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“__copyinit__ मेथड” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Mojo Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Mojo Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- प्रतिलिपि बनाम स्थानांतरण शब्दार्थ
- __copyinit__ मेथड
- __moveinit__ मेथड
- विनाश और __del__