Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

حلقة Until

جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 45 من 88.

تُعدّ حلقة until عكس حلقة while. فبدلاً من التشغيل طالما أن الشرط صحيح، فإنها تعمل حتى يصبح الشرط صحيحاً. فكر فيها على أنها "استمر حتى يحدث هذا".

count = 1
until count > 3
  puts count
  count += 1
end

يُنتج هذا 1، 2، 3. تستمر الحلقة طالما أن count > 3 هي false. بمجرد أن تصبح count تساوي 4، يصبح الشرط true، وتتوقف الحلقة.

قارن هذا بحلقة while المكافئة:

# هاتان الحلقتان تقومان بنفس الشيء:
while count <= 3    # يتم التشغيل طالما أن هذا صحيح (TRUE)
until count > 3     # يتم التشغيل حتى يصبح هذا صحيحاً (TRUE)

يمكن لحلقة until أن تجعل كودك أكثر قابلية للقراءة عندما تنتظر حدوث شيء ما. إليك مثال على العد التنازلي:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

يقوم هذا بالعد التنازلي من 5 إلى 1، ثم يطبع "Liftoff!" عندما تصل num إلى 0. اختر until عندما تجعل نيتك أكثر وضوحاً، خاصة عندما تنتظر حدوث شرط معين.

challenge icon

التحدي

سهل

اقرأ رقماً n من المدخلات. استخدم حلقة until لطباعة جميع الأرقام من 1 إلى n، كل رقم في سطر مستقل. بعد الوصول إلى n، اطبع Done! في سطر جديد.

يجب أن تستمر الحلقة حتى يتجاوز العداد n.

ستكون المدخلات عبارة عن عدد صحيح واحد يمثل الرقم المستهدف.

على سبيل المثال، إذا كانت المدخلات 4، يجب أن تكون المخرجات:

1
2
3
4
Done!

إذا كانت المدخلات 6، يجب أن تكون المخرجات:

1
2
3
4
5
6
Done!

ورقة مرجعية

تستمر حلقة until في العمل حتى يصبح الشرط صحيحاً (عكس while):

count = 1
until count > 3
  puts count
  count += 1
end
# المخرجات: 1, 2, 3

مقارنة مع حلقة while:

while count <= 3    # تعمل طالما أن هذا صحيح (TRUE)
until count > 3     # تعمل حتى يصبح هذا صحيحاً (TRUE)

مثال على العد التنازلي:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

جرّب بنفسك

# قراءة الرقم المستهدف
n = gets.to_i

# تهيئة العداد
counter = 1

# TODO: اكتب الكود الخاص بك أدناه
# استخدم حلقة until لطباعة الأرقام من 1 إلى n
# يجب أن تستمر الحلقة حتى يتجاوز العداد قيمة n


# طباعة "Done!" بعد الحلقة
puts "Done!"
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات