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