حلقة While
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 40 من 88.
تعمل حلقة for بشكل رائع عندما تعرف بالضبط عدد المرات التي تريد التكرار فيها. ولكن ماذا لو كنت تريد الاستمرار في التكرار حتى يتغير شرط معين؟ هنا يأتي دور حلقة while.
تستمر حلقة while في العمل طالما ظل شرطها صحيحاً:
count = 1
while count <= 3
puts count
count += 1
endيُخرج هذا 1، و2، و3. تتحقق الحلقة من الشرط قبل كل تكرار. بمجرد أن تصبح count 4، يكون الشرط count <= 3 خاطئاً، وتتوقف الحلقة.
الفرق الرئيسي عن حلقة for هو أنك تتحكم في وقت انتهاء الحلقة عن طريق تغيير متغير داخل الحلقة. إذا نسيت تحديث المتغير، فستستمر الحلقة إلى الأبد! إليك مثال على العد التنازلي:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"يقوم هذا بالعد التنازلي من 5 إلى 1، ثم يطبع "Done!" بعد انتهاء الحلقة. تعتبر حلقة while مفيدة بشكل خاص عندما لا تعرف مسبقاً عدد التكرارات التي ستحتاج إليها.
التحدي
سهلاقرأ الرقم n من المدخلات. استخدم حلقة while لطباعة جميع الأرقام من n تنازلياً إلى 1، بحيث يكون كل رقم في سطر مستقل. بعد انتهاء العد التنازلي، اطبع Blastoff! في سطر جديد.
سيكون المدخل عبارة عن عدد صحيح واحد يمثل رقم البداية للعد التنازلي.
على سبيل المثال، إذا كان المدخل 5، يجب أن يكون المخرج:
5
4
3
2
1
Blastoff!ورقة مرجعية
تستمر حلقة while في العمل طالما ظل شرطها صحيحاً:
count = 1
while count <= 3
puts count
count += 1
endتتحقق الحلقة من الشرط قبل كل تكرار. يجب عليك تحديث المتغير داخل الحلقة لجعل الشرط خاطئاً في النهاية، وإلا ستستمر الحلقة في العمل إلى الأبد.
مثال على العد التنازلي:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"استخدم حلقات while عندما لا تعرف مسبقاً عدد التكرارات التي ستحتاجها، أو عندما تريد التكرار حتى يتغير شرط معين.
جرّب بنفسك
# قراءة رقم البداية
n = gets.chomp.to_i
# TODO: اكتب كودك أدناه
# استخدم حلقة while لطباعة الأرقام من n تنازلياً إلى 1
# ثم اطبع "Blastoff!"يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ