مقدمة إلى الحلقات التكرارية (for loops)

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

هناك طرق مختلفة لجعل الشفرات تعمل مراراً وتكراراً. إذا كنت تريد أن تعمل الشفرة لعدد معين من المرات، استخدم حلقة for. ستتناول هذه المقالة المنطق وراء الحلقات التكرارية وتظهر بعض الأمثلة العملية، مثل برمجة العد التنازلي.

كيفية عمل حلقات for

تستخدم حلقات for ثلاث قيم للتحكم في عدد مرات تنفيذها: متغير التحكم، قيمة النهاية، وقيمة الزيادة. بدءًا من قيمة متغير التحكم، ستقوم الحلقات التكرارية إما بالعد لأعلى أو لأسفل في كل مرة تنفذ فيها الشفرة داخل الحلقة حتى تتجاوز قيمة النهاية. القيم الإيجابية للزيادة تعد لأعلى، والقيم السلبية للزيادة تعد لأسفل.

خطوات في حلقة for

لفهم حلقات for، يساعد أن ترى مخطط تدفق يوضح منطق كيفية تقدمها.

أولاً، تقارن حلقة for متغير التحكم مع قيمة النهاية.

بعد تشغيل الشفرة، تضاف قيمة الزيادة إلى متغير التحكم. ثم تتحقق الحلقة من متغير التحكم وتبدأ من جديد.

بمجرد أن تتجاوز قيمة متغير التحكم قيمة النهاية، ستتوقف الحلقة. على سبيل المثال، إذا كانت الحلقة لديها قيمة نهاية قدرها 10، بمجرد أن تتجاوز قيمة متغير التحكم 10، ستتوقف حلقة for.

برمجة العد التنازلي

لرؤية كيفية عمل حلقة for، استخدم هذه الخطوات لبرمجة حلقة for تبدأ من 10 وتعد تنازليًا إلى 0، رقمًا واحدًا في كل مرة. في كل مرة تعمل فيها الحلقة، ستطبع القيمة الحالية لمتغير التحكم.

  1. في ServerScriptService، أنشئ نصًا جديدًا باسم PracticeLoop. في النص، ابدأ بكتابة الكلمة الرئيسية for.


    for
  2. أنشئ متغير التحكم باسم count واضبط قيمته الابتدائية على 10.


    for count = 10
  3. اضبط قيمة النهاية على 0، عن طريق كتابة , 0. تأكد من تضمين فاصلة لفصل القيم.


    for count = 10, 0
  4. أنشئ قيمة الزيادة بمقدار -1 عن طريق كتابة , -1. بعد أن تنتهي الحلقة من إجراءها، ستضيف قيمة الزيادة إلى متغير التحكم، count. نظرًا لأن الزيادة سلبية، سيتم الطرح عند إضافتها إلى متغير التحكم.


    for count = 10, 0, -1
  5. لإنهاء حلقة for، اكتب "do" واضغط Enter لإضافة end. سيتم تشغيل أي شفرة مكتوبة بين do وend في كل مرة تتكرر فيها الحلقة.


    for count = 10, 0, -1 do
    end
  6. داخل الحلقة، أنشئ عدًا تنازليًا عن طريق طباعة قيمة متغير التحكم، count، ثم تأخير النص باستخدام دالة الانتظار.


    for count = 10, 0, -1 do
    -- تطبع الرقم الحالي الذي تكون عليه حلقة for
    print(count)
    -- انتظر 1 ثانية
    task.wait(1)
    end
  7. قم بتشغيل المشروع وشاهد نافذة المخرجات لرؤية حلقة for.

    لاحظ أن الحلقة ستقوم بطباعة القيمة الحالية لـ count في كل مرة تمر فيها عبر التكرار. التكرار هو العملية الكاملة للتحقق من قيمة التحكم، تشغيل الشفرة، وتحديث قيمة الزيادة. نظرًا لأن متغير التحكم يبدأ من 0 ويتعين عليه تجاوز 10، ستتم العملية عبر 11 تكرارًا قبل التوقف.

نصائح استكشاف الأخطاء

في هذه المرحلة، إذا لم تعمل الحلقة كما هو مقصود، جرب واحدًا مما يلي أدناه.

  • تحقق من أن لديك فاصلتين تفصلان الأرقام في حلقة for الخاصة بك. سيتسبب وجود فواصل إضافية أو مفقودة في عدم بدء الحلقة.
  • إذا كانت حلقة for تطبع كلها دفعة واحدة، فتأكد من وجود دالة انتظار تستخدم على الأقل 1 ثانية.

أمثلة مختلفة لحلقات for

سيؤدي تغيير القيم الثلاث لحلقة for إلى تغيير كيفية عمل الحلقة. فيما يلي أمثلة مختلفة لحلقات for بقيم بدء ونهاية وزيادة مختلفة. جرب وضعها في نصوص وشاهد ماذا يحدث.

العد لأعلى بواحد


for count = 0, 5, 1 do
print(count)
task.wait(1)
end

العد لأعلى بأرقام زوجية


for count = 0, 10, 2 do
print(count)
task.wait(1)
end

إذا لم تعمل حلقات for على الإطلاق

إذا بدأ متغير التحكم أكثر من قيمة النهاية، كما في المثال أدناه، فلن تعمل حلقة for على الإطلاق.


for count = 10, 0, 1 do
print(count)
task.wait(1)
end

في هذه الحالة، تقوم حلقة for بالعد لأعلى والتحقق مما إذا كانت count أكبر من 0. عندما تقوم حلقة for بأول تحقق لها، ترى أن 10 أكبر من 0، لذا ستتوقف الحلقة دون طباعة أي شيء.

ملخص

حلقة for هي نوع شائع من الحلقات التي تُستخدم عندما ينبغي أن تتكرر مجموعة من التعليمات عددًا محددًا من المرات. لإنشاء حلقة for، استخدم ثلاثة متغيرات مع الصيغة أدناه:


for count = 0, 10, 1 do
print(count)
end

في المثال أعلاه، ستبدأ الحلقة من 0. في كل حلقة، ستطبع متغير count، تضيف 1 إلى count، وأخيرًا ستنتهي من التكرار عندما يتساوى count مع 10.

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.