التكرار على الشرائح وتعديلها
اقرؤوا عبر الشريحة واكتبوا فيها
التكرار على الشرائح وتعديلها درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.
التجوال في شريحة
بعد حصولك على شريحة، سترغب عادةً في زيارة كل عنصر فيها. تكرّر حلقة for في Zig عناصر الشريحة بسلاسة من البداية إلى النهاية. 🔁
استخدام for على العناصر
ضع الشريحة بين قوسين وسمِّ كل عنصر باستخدام التقاط بين الشرطتين العموديتين. وتمرّر الحلقة قيمة واحدة في كل دورة.
for (items) |value| {
// use value
}للقراءة فقط افتراضيًا
يمنحك الالتقاط العادي نسخة من كل عنصر. ولا يؤثر تغيير هذه النسخة في البيانات الأساسية للشريحة.
الالتقاط بواسطة مؤشر للتعديل
أضف * قبل اسم الالتقاط لتحصل على مؤشر بدلًا من نسخة. عندها يؤدي الكتابة من خلاله إلى تعديل العنصر الحقيقي.
for (items) |*value| {
value.* += 1;
}إلغاء الإشارة للكتابة
مع الالتقاط بواسطة مؤشر، تستخدم .* للوصول إلى القيمة التي يشير إليها. وتتيح لك هذه الصيغة القراءة والإسناد معًا.
value.* = 0;يجب أن تكون الشريحة قابلة للتعديل
لتغيير العناصر، يجب أن يكون نوع الشريحة []T عاديًا، لا []const T. فالشريحة الثابتة تمنع الكتابة من خلالها.
التكرار باستخدام فهرس
قرن الشريحة بنطاق لتحصل أيضًا على عدّاد. ويكون الالتقاط الثاني بعد الفاصلة هو الفهرس الحالي.
for (items, 0..) |value, i| {
// i is the index
}الفهرسة مباشرةً
يمكنك أيضًا الكتابة في خانة باستخدام الفهرس من دون التقاط في الحلقة. أسند القيمة من خلال القوسين المربعين كما تفعل مع المصفوفة.
items[0] = 42;تكرار شريحتين معًا
مرّر عدة شرائح إلى حلقة for واحدة للتجوال فيها بالتزامن. ويجب أن تتشارك الطول نفسه، وإلا فستحدث panic.
for (xs, ys) |x, y| {
// x and y line up
}تجميع نتيجة
احتفظ بمجموع جارٍ في var مُعلن قبل الحلقة، ثم حدّثه في كل دورة لحساب المجموع.
var total: i32 = 0;
for (items) |v| total += v;التخطي باستخدام continue
داخل الحلقة، ينتقل continue مباشرةً إلى العنصر التالي. استخدمه لتجاهل القيم التي تفشل في اختبار سريع.
for (items) |v| {
if (v < 0) continue;
}تحقّق سريع
تريد مضاعفة كل عنصر في شريحة من النوع []i32 في موضعه. أي صيغة التقاط تتيح لك الكتابة مرة أخرى؟
مراجعة
كرّر على الشريحة باستخدام for: فالالتقاطات العادية تقرأ نسخًا، و|*value| مع .* تعدّل في موضعها، وإضافة نطاق تتيح تتبّع الفهرس. 🎯
الأسئلة الشائعة
هل درس «التكرار على الشرائح وتعديلها» مجاني؟
نعم — نص درس «التكرار على الشرائح وتعديلها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.
ماذا ستتعلم في «التكرار على الشرائح وتعديلها»؟
اقرؤوا عبر الشريحة واكتبوا فيها تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟
لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «التكرار على الشرائح وتعديلها»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟
نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المصفوفات ثابتة الحجم
- الشرائح: مؤشر وطول
- التقطيع باستخدام array[start..end]
- التكرار على الشرائح وتعديلها