Trait पर जेनेरिक फ़ंक्शन
अनेक प्रकारों के लिए एक फ़ंक्शन लिखिए।
Trait पर जेनेरिक फ़ंक्शन, CoddyKit पर Mojo Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Mojo Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एक फ़ंक्शन, कई प्रकार
ट्रेट की वास्तविक शक्ति सामान्यीकृत कोड में है: किसी फ़ंक्शन को एक बार लिखिए और वह हर अनुरूप प्रकार के लिए काम करेगा। 🚀
एक सीमा के रूप में ट्रेट
आप किसी सामान्यीकृत पैरामीटर पर ट्रेट को सीमा के रूप में लगाते हैं और वादा करते हैं कि प्रकार में आपके द्वारा बुलायी जाने वाली विधियाँ मौजूद हैं।
सामान्यीकृत पैरामीटर का वाक्य-विन्यास
वर्ग कोष्ठकों के भीतर आप किसी प्रकार के पैरामीटर और उस पर लागू होने वाले ट्रेट का नाम देते हैं, फिर उसका उपयोग किसी भी प्रकार की तरह करते हैं।
fn announce[T: Greetable](item: T):
print(item.greet())ट्रेट की विधियाँ बुलाना
फ़ंक्शन के भीतर आप ट्रेट द्वारा सुनिश्चित किसी भी विधि को बुला सकते हैं। कंपाइलर जानता है कि T पर greet मौजूद है।
हर अनुरूप प्रकार के लिए काम करता है
एक ही फ़ंक्शन में Dog या Robot भेजें। दोनों Greetable के अनुरूप हैं, इसलिए दोनों बिना किसी अतिरिक्त प्रयास के स्वीकार किए जाते हैं।
announce(Dog("Rex"))
announce(Robot())प्रकार-सुरक्षा बनी रहती है
सामान्यीकृत कोड मनमाना नहीं होता। यदि कोई प्रकार सीमा पूरी नहीं करता, तो प्रोग्राम चलने से पहले कंपाइलर उसे अस्वीकार कर देता है।
चलने के समय कोई अतिरिक्त दंड नहीं
Mojo सामान्यीकृत कोड को संकलन के समय विशेषीकृत करता है और प्रत्येक प्रकार के लिए तेज़ संस्करण बनाता है। लचीलेपन के लिए गति नहीं चुकानी पड़ती।
कम दोहराव
सामान्यीकरण के बिना आपको प्रत्येक प्रकार के लिए फ़ंक्शन की प्रतिलिपि बनानी पड़ती। ट्रेट की सीमा एक ही परिभाषा को सभी के लिए उपयोग करने देती है और दोहराव घटाती है।
कई सीमाएँ
कोई पैरामीटर एक साथ कई ट्रेट की माँग कर सकता है, जिससे यह सुनिश्चित होता है कि प्रकार में फ़ंक्शन के लिए आवश्यक प्रत्येक क्षमता मौजूद है।
ट्रेट के आधार पर डिज़ाइन
अच्छे Mojo API केवल उतने ही छोटे ट्रेट की माँग करते हैं जितने की उन्हें आवश्यकता हो। फ़ंक्शन लचीले रहते हैं और सटीक आवश्यकताएँ भी व्यक्त करते हैं।
पूरी तस्वीर
ट्रेट, अनुरूपता और सामान्यीकरण मिलकर काम करते हैं: एक अनुबंध परिभाषित करें, उसे लागू करें, फिर उसके आधार पर एक पुनः उपयोग योग्य फ़ंक्शन लिखें।
fn print_all[T: Stringable](x: T):
print(String(x))त्वरित जाँच
सामान्यीकृत फ़ंक्शन पर ट्रेट की सीमा का उपयोग क्यों करें?
पुनरावलोकन
ट्रेट की सीमा वाले सामान्यीकृत फ़ंक्शन सभी अनुरूप प्रकारों पर काम करते हैं और प्रकार-सुरक्षित तथा तेज़ रहते हैं। अब आप पुनः उपयोग योग्य Mojo लिख सकते हैं! 🎉
एआई शिक्षक के साथ Mojo सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Trait पर जेनेरिक फ़ंक्शन” पाठ निःशुल्क है?
हाँ — Mojo Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Trait पर जेनेरिक फ़ंक्शन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Trait पर जेनेरिक फ़ंक्शन” में मैं क्या सीखूँगा?
अनेक प्रकारों के लिए एक फ़ंक्शन लिखिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Mojo Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Mojo Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Mojo Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“Trait पर जेनेरिक फ़ंक्शन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Mojo Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Mojo Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Trait क्या है?
- struct को Trait के अनुरूप बनाना
- Copyable जैसे अंतर्निर्मित Trait
- Trait पर जेनेरिक फ़ंक्शन