array[start..end] से Slicing
copy किए बिना उप-दृश्य बनाएँ।
array[start..end] से Slicing, CoddyKit पर Zig Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Zig Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एक दृश्य का हिस्सा बनाना
कभी-कभी आपको ऐरे का केवल एक हिस्सा चाहिए होता है। स्लाइसिंग से आप किसी उप-रेंज को बिना कोई तत्व कॉपी किए नए स्लाइस के रूप में ले सकते हैं। ✂️
रेंज का सिंटैक्स
कोष्ठकों के भीतर शुरुआत और अंत को दो बिंदुओं से जोड़कर लिखिए: array[start..end]। इससे उन स्थानों पर आधारित एक स्लाइस बनता है।
const part = data[1..3];अंत शामिल नहीं होता
अंतिम इंडेक्स शामिल नहीं होता, इसलिए array[1..3] में स्थान 1 और 2 शामिल होते हैं, लेकिन 3 से पहले रुक जाता है। परिणाम की लंबाई 2 होती है।
अंत तक स्लाइस
अंत को छोड़ देने पर स्लाइस अंतिम तत्व तक जाता है। data[2..] का अर्थ है इंडेक्स 2 से आगे के सभी तत्व।
const tail = data[2..];पूरे ऐरे का स्लाइस
[0..] का उपयोग करके पूरे ऐरे को स्लाइस में बदला जा सकता है। पूरे ऐरे को स्लाइस लेने वाले कोड को देने का यह सामान्य तरीका है।
const all = data[0..];कोई कॉपी नहीं बनती
स्लाइसिंग केवल एक नया पॉइंटर और लंबाई निकालती है। तत्व मूल ऐरे के साथ साझा रहते हैं, इसलिए यह तेज़ है और इसके लिए मेमोरी आवंटन नहीं होता।
स्लाइस का स्लाइस बनाना
आप ऐरे की तरह ही किसी स्लाइस का भी स्लाइस बना सकते हैं। नई रेंज उस स्लाइस की अपनी शुरुआत के सापेक्ष होती है, जिससे दृश्य और संकरा हो जाता है।
const inner = part[0..1];रेंज से बाहर जाना पकड़ा जाता है
यदि शुरुआत या अंत डेटा के बाहर हो, तो सुरक्षित बिल्ड रनटाइम पर पैनिक करता है। इससे आप ऐसी मेमोरी पढ़ने से बचते हैं जिसकी स्वामित्व आपके पास नहीं है।
कम्पाइल-टाइम स्लाइस
जब सीमाएँ कम्पाइल-टाइम पर ज्ञात हों, तो परिणाम एक निश्चित लंबाई वाले ऐरे के पॉइंटर के रूप में बन सकता है, और यह लंबाई उसके प्रकार में पहले से दर्ज होती है।
सेंटिनल-समाप्त स्लाइस
अंत में शून्य की गारंटी देने के लिए [start..end :0] के साथ एक टर्मिनेटर जोड़िए। C कोड को स्ट्रिंग देते समय यह उपयोगी होता है।
const cstr = buf[0..n :0];रेंज से लंबाई
स्लाइस की लंबाई सरल रूप से end में से start घटाने पर मिलती है। इसलिए data[2..5] से हमेशा ऐसा स्लाइस मिलता है जिसका len ठीक 3 होता है।
const three = data[2..5]; // len == 3त्वरित जाँच
आपके पास const data = [_]i32{ 0, 1, 2, 3, 4 } है। data[1..4] की लंबाई कितनी होगी?
पुनरावलोकन
array[start..end] सिंटैक्स एक उप-दृश्य बनाता है: अंत शामिल नहीं होता, उसे छोड़कर tail लिया जा सकता है, कुछ भी कॉपी नहीं होता और सीमाओं की जाँच बनी रहती है। 🎯
एआई शिक्षक के साथ Zig सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “array[start..end] से Slicing” पाठ निःशुल्क है?
हाँ—“array[start..end] से Slicing” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Zig Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“array[start..end] से Slicing” में मैं क्या सीखूँगा?
copy किए बिना उप-दृश्य बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Zig Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Zig Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Zig Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“array[start..end] से Slicing” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Zig Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Zig Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Fixed-Size Arrays
- Slices: एक Pointer और उसकी Length
- array[start..end] से Slicing
- Slices पर Iterate और Mutate करना