حلقة for مع خطوة
جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 74 من 90.
تصبح حلقة for الرقمية أكثر قوة عند إضافة وسيطة ثالثة تُسمى الخطوة. تتحكم الخطوة في مقدار تغيّر متغير الحلقة في كل مرة تمر فيها الحلقة.
تبدو الصياغة الموسَّعة كما يلي:
for variable = start, finish, step do
-- الكود المراد تكراره
endإليك مثالًا يعدّ بزيادة 2 بدلًا من 1:
for i = 2, 10, 2 do
print(i)
endتبدأ هذه الحلقة من 2، وتصل إلى 10، وتزداد بمقدار 2 في كل مرة، وتطبع: 2, 4, 6, 8, 10.
يمكنك أيضًا استخدام خطوات سالبة للعد التنازلي:
for i = 5, 1, -1 do
print(i)
endيعدّ هذا تنازليًا من 5 إلى 1، ويطبع: 5، 4، 3، 2، 1.
تتوقف الحلقة بمجرد أن تتجاوز قيمة المتغير قيمة النهاية في اتجاه الخطوة. إذا كانت قيمة البداية تتجاوز قيمة النهاية بالفعل، كما في for i = 1, 5, -1، فلن يُنفَّذ جسم الحلقة مطلقًا.
تمنحك الخطوة تحكمًا دقيقًا في كيفية تقدّم الحلقة، مما يجعلها مثالية لمهام مثل معالجة كل عنصر آخر في قائمة، وإنشاء عدّ تنازلي، أو العمل مع أنماط أرقام محددة.
التحدي
سهلأنشئ مولّدًا لجدول الضرب يستخدم حلقة for رقمية بخطوة لعرض مضاعفات العدد 3. اكتب حلقة for تبدأ من 3، وتصل إلى 15، وتستخدم خطوة مقدارها 3 لطباعة مضاعفات العدد 3 فقط.
داخل الحلقة، اطبع قيمة كل مضاعف في سطر منفصل. سيوضح ذلك كيف تتحكم مَعلمة الخطوة في تقدّم الحلقة عبر تخطي القيم.
جرّب بنفسك
-- TODO: اكتب الكود الخاص بك هنا
-- أنشئ حلقة for تبدأ من 3 وتصل إلى 15 بزيادة قدرها 3 في كل مرة
-- اطبع كل مضاعف في سطر منفصليتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات 2: العمليات العلائقية والمنطقية
معاملات التساويالمعاملات العلائقيةالمعامل 'and'المعامل 'or'المعامل 'not'التقييم قصير الدائرةقيم Truthy و Falsyمراجعة - المنطق البسيط10الجداول الجزء 1: نمط القائمة
ما هو الجدول؟إنشاء جدولالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسمعامل الطول '#'table.insert()table.remove()ملخص - إدارة أعضاء الفريق13مشروع: متجر جرعات بسيط
إعداد المشروعإضافة جرعة2المتغيرات وأنواع البيانات
ما هو المتغير؟الأرقامالسلاسل النصيةالقيم المنطقيةالقيمة 'nil'الدالة type()قواعد التسميةمراجعة - ملف الشخصية5الإخراج الأساسي
طباعة القيم الحرفيةطباعة المتغيراتطباعة قيم متعددةدمج النصوص والمتغيراتدالة tostring()الإدخال (Input)التحويل (Cast)مراجعة - تقرير الحالةمراجعة - حتى 1208أساسيات معالجة النصوص
string.len()string.upper و string.lowerstring.sub()string.rep()string.find()مراجعة - تنسيق اسم المستخدم3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازليتدرّب بنفسك: مترجم Lua عبر الإنترنت