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

مراجعة - Custom Iterator مخصص

جزء من قسم المنطق وتدفق العمليات في رحلة Ruby على Coddy — الدرس 20 من 56.

قم ببناء تابع مكرر (iterator method) خاص بك يستخدم yield، ويقبل كتلة برمجية (block)، ويعيد قيمة مفيدة، جامعاً كل شيء من هذا الفصل.

challenge icon

التحدي

متوسط

قم بتعريف دالة باسم each_even تأخذ مصفوفة numbers وتقوم بتمرير (yield) كل رقم زوجي في المصفوفة إلى الكتلة البرمجية (block) الخاصة بها (مع تخطي الأرقام الفردية تماماً).

ثم اقرأ قائمة من الأعداد الصحيحة المفصولة بفاصلة، واستدعِ each_even عليها مع كتلة برمجية (block) تطبع "Even: <n>" لكل قيمة يتم تمريرها، وفي النهاية اطبع:

Done: <count>

حيث count هو عدد الأرقام الزوجية التي تم تمريرها.

للمدخلات 1,2,3,4,5,6، يكون المخرج:

Even: 2
Even: 4
Even: 6
Done: 3

جرّب بنفسك

# TODO: قم بتعريف each_even(numbers) التي تُنتج كل رقم زوجي

numbers = gets.chomp.split(",").map(&:to_i)
count = 0

# TODO: استدعِ each_even مع block يطبع "Even: <n>"
# ويزيد count لكل قيمة ناتجة

puts "Done: #{count}"

جميع دروس المنطق وتدفق العمليات