Menu
Coddy logo textTech

סיכום – איטרטור מותאם אישית

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 20 מתוך 56.

בנה שיטת איטרטור משלך שמשתמשת ב-yield, מקבלת בלוק ומחזירה ערך שימושי, תוך שילוב כל מה שלמדת בפרק הזה.

challenge icon

אתגר

בינוני

הגדירו מתודה בשם each_even שמקבלת מערך numbers ומעבירה לבלוק שלה כל מספר זוגי במערך (תוך דילוג מוחלט על מספרים אי־זוגיים).

לאחר מכן קראו רשימה של מספרים שלמים המופרדים בפסיקים, קראו לה עם each_even והעבירו לה בלוק שמדפיס "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 עם בלוק שמדפיס "Even: <n>"
# ומגדיל את count עבור כל ערך שמועבר לבלוק

puts "Done: #{count}"

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Ruby אונליין