Zig Academy · पाठ

कई defers का Execution Order

deferred code उल्टे क्रम में क्यों चलता है।

पाठ 2, कुल 4 में से13 चरण

कई defers का Execution Order, CoddyKit पर Zig Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Zig Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

एक से अधिक defer

एक स्कोप में कई defer कथन हो सकते हैं। स्कोप समाप्त होने पर Zig को तय करना होता है कि उन्हें किस क्रम में चलाया जाए।

वे उलटे क्रम में चलते हैं

कई defer उलटे क्रम में चलते हैं: जिसे आपने सबसे अंत में लिखा वह पहले चलता है, और जिसे पहले लिखा वह अंत में।

defer one();
defer two();

अंतिम अंदर, पहला बाहर

यह स्टैक जैसा पारंपरिक LIFO व्यवहार है। प्रत्येक defer को स्टैक पर रखा जाता है और बाहर निकलते समय उलटे क्रम में हटाया जाता है।

एक छोटा उदाहरण

यहाँ काम के बाद दो defer चलते हैं। आउटपुट two then one होता है, क्योंकि बाद वाला defer पहले हटता है।

defer print("one");
defer print("two");
work();

उलटा क्रम समझ में क्यों आता है

संसाधन आम तौर पर पहले बनाए गए संसाधनों पर निर्भर होते हैं। उलटे क्रम में सबसे नए संसाधन को पहले रिलीज़ किया जाता है, इसलिए उपयोग में रहते हुए कुछ मुक्त नहीं होता।

प्राप्त करने की नकल

पहले A खोलिए, फिर B। उलटे defer पहले B को close करते हैं, फिर A को—बनाने के क्रम की बिल्कुल सही नकल।

a.open(); defer a.close();
b.open(); defer b.close();

निर्धारण के समय सुरक्षित

हर defer अपने कोड को क्रम के साथ याद रखता है, भले ही उसका निष्पादन बाद में हो। प्रत्येक defer तक पहुँचते ही उसका क्रम निश्चित हो जाता है।

कभी पहुँचा ही न जाए तो छोड़ दिया जाता है

यदि defer वाली पंक्ति तक पहुँचने से पहले स्कोप समाप्त हो जाए, तो वह defer कभी निर्धारित ही नहीं हुआ और बिल्कुल नहीं चलता।

if (early) return;
defer late();

प्रति-स्कोप स्टैक

हर स्कोप अपना defer स्टैक रखता है। बाहरी स्कोप के defer हटने से पहले भीतरी स्कोप के defer हटते हैं।

पूर्वानुमेय समापन

उलटे नियम को जानने से आप सफ़ाई का सटीक तर्क कर सकते हैं, इसलिए आपका समापन क्रम कभी आश्चर्यजनक नहीं होगा।

एक उपयोगी मानसिक मॉडल

प्लेटों का ढेर सोचिए: आप उन्हें ऊपर-नीचे रखते हैं, लेकिन हटाते समय ऊपर से हटाना पड़ता है—सबसे आख़िरी प्लेट पहले।

त्वरित जाँच

दो defer हैं, पहले one फिर two। चलने का क्रम क्या होगा?

पुनरावलोकन

कई defer स्टैक की तरह उलटे क्रम में हटते हैं, इसलिए सबसे नया संसाधन पहले रिलीज़ होता है और सफ़ाई, निर्माण क्रम की नकल करती है। 🔁

शुरुआत निःशुल्क

एआई शिक्षक के साथ Zig सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “कई defers का Execution Order” पाठ निःशुल्क है?

हाँ—“कई defers का Execution Order” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Zig Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“कई defers का Execution Order” में मैं क्या सीखूँगा?

deferred code उल्टे क्रम में क्यों चलता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Zig Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Zig Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Zig Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“कई defers का Execution Order” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Zig Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Zig Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. defer की गारंटी
  2. कई defers का Execution Order
  3. व्यवहार में defer बनाम errdefer
  4. Open को Close के साथ जोड़ना
← Zig Academy पर वापस जाएँ