حلقة 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!" بعد انتهاء الـ loop. تكون حلقة while مفيدة بشكل خاص عندما لا تعرف مسبقاً عدد التكرارات التي ستحتاج إليها.
التحدي
سهلاقرأ عدداً n من المدخلات. استخدم حلقة while لطباعة جميع الأعداد من n تنازلياً حتى 1، كل عدد في سطر مستقل. بعد انتهاء العد التنازلي، اطبع Blastoff! في سطر جديد.
ستكون المدخلات عبارة عن عدد صحيح واحد يمثل عدد البداية للعد التنازلي.
على سبيل المثال، إذا كانت المدخلات 5، يجب أن تكون المخرجات:
5
4
3
2
1
Blastoff!جرّب بنفسك
# اقرأ الرقم الابتدائي
n = gets.chomp.to_i
# TODO: اكتب الكود الخاص بك أدناه
# استخدم حلقة while لطباعة الأرقام من n تنازليًا إلى 1
# ثم اطبع النص الدقيق من التعليماتيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم Ruby عبر الإنترنت