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

Next

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

بينما يقوم break بالخروج من الحلقة تماماً، فإنك في بعض الأحيان ترغب فقط في تخطي التكرار الحالي والانتقال إلى التكرار التالي. الكلمة المفتاحية next تقوم بذلك بالضبط.

عندما يصادف Ruby الكلمة next، فإنه ينتقل فوراً إلى التكرار التالي للحلقة، متخطياً أي كود متبقٍ في التكرار الحالي:

for i in 1..5
  if i == 3
    next
  end
  puts i
end

يُنتج هذا المخرجات 1، 2، 4، 5. عندما تساوي i القيمة 3، تتخطى الكلمة المفتاحية next جملة puts وتنتقل مباشرة إلى التكرار التالي حيث تصبح i تساوي 4.

حالة استخدام شائعة هي تصفية القيم غير المرغوب فيها. على سبيل المثال، طباعة الأرقام الزوجية فقط:

for num in 1..6
  if num % 2 != 0
    next
  end
  puts num
end
# المخرجات: 2, 4, 6

يتم تخطي الأرقام الفردية، وتتم طباعة الأرقام الزوجية فقط. فكر في next على أنه يقول "تخطَّ هذا واستمر" بينما يقول break "أوقف كل شيء".

challenge icon

التحدي

سهل

اقرأ عددين صحيحين من المدخلات:

  1. رقم start
  2. رقم end

قم بالمرور عبر الأرقام من start إلى end. اطبع فقط الأرقام التي لا تقبل القسمة على 3. استخدم next لتخطي الأرقام التي تقبل القسمة على 3.

يجب طباعة كل رقم في سطر مستقل.

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

1
2
4
5
7
8
10

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

5
7
8

ورقة مرجعية

الكلمة المفتاحية next تتخطى التكرار الحالي للحلقة وتنتقل إلى التكرار التالي:

for i in 1..5
  if i == 3
    next
  end
  puts i
end
# المخرجات: 1, 2, 4, 5

استخدم next لتصفية القيم. على سبيل المثال، طباعة الأرقام الزوجية فقط:

for num in 1..6
  if num % 2 != 0
    next
  end
  puts num
end
# المخرجات: 2, 4, 6

next تتخطى التكرار الحالي وتستمر في الحلقة، بينما break تخرج من الحلقة تماماً.

جرّب بنفسك

# قراءة المدخلات
start = gets.chomp.to_i
end_num = gets.chomp.to_i

# المهام المطلوبة: اكتب الكود الخاص بك أدناه
# حلقة تكرارية عبر الأرقام من start إلى end_num
# استخدم next لتخطي الأرقام التي تقبل القسمة على 3
# طباعة الأرقام التي لا تقبل القسمة على 3
quiz iconاختبر نفسك

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

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