التقطيع باستخدام array[start..end]
أنشئوا عروضاً فرعية دون نسخ
التقطيع باستخدام array[start..end] درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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 خارج البيانات، فإن عمليات البناء الآمنة تُحدث panic وقت التشغيل. ويمنعك ذلك من قراءة ذاكرة لم تكن تملكها قط.
الشرائح وقت الترجمة
عندما تكون الحدود معروفة وقت الترجمة، يمكن أن تكون النتيجة مؤشرًا إلى مصفوفة ذات طول ثابت مضمَّن في نوعها.
شرائح منتهية بعلامة حارسة
أضف مُنهِيًا باستخدام [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] عرضًا فرعيًا: النهاية غير شاملة، ويمكن حذفها للحصول على الذيل، ولا يُنسخ أي شيء، وتظل الحدود خاضعة للتحقق. 🎯
تعلم Zig مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «التقطيع باستخدام array[start..end]» مجاني؟
نعم — نص درس «التقطيع باستخدام array[start..end]» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.
ماذا ستتعلم في «التقطيع باستخدام array[start..end]»؟
أنشئوا عروضاً فرعية دون نسخ تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟
لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «التقطيع باستخدام array[start..end]»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟
نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المصفوفات ثابتة الحجم
- الشرائح: مؤشر وطول
- التقطيع باستخدام array[start..end]
- التكرار على الشرائح وتعديلها