סיכום – איטרטור מותאם אישית
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 20 מתוך 56.
בנה שיטת איטרטור משלך שמשתמשת ב-yield, מקבלת בלוק ומחזירה ערך שימושי, תוך שילוב כל מה שלמדת בפרק הזה.
אתגר
בינוניהגדירו מתודה בשם 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}"
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
סקירה של מתודות למחרוזותאינטרפולציה של מחרוזותמעבר על מחרוזותפיצול וחיבורסיכום – שוזר המחרוזות4בלוקים, Procs ו־Lambdas
מהו בלוק?do..end לעומת סוגריים מסולסליםמילת המפתח yieldפרמטרים של בלוקProcs ו־Lambdasסיכום – איטרטור מותאם אישית7Hashes חלק 2
Hash.new עם ערכי ברירת מחדלמעבר על HashesHashes מקונניםמיזוג ושינויסיכום - מונה תדירויות10פרויקט - רשומות תלמידים
סקירת הפרויקטהוספת תלמיד5עוצמת Enumerable
Select ו־Rejectשרשור MapReduce / Injectcount, all?, any?, none?group_by ו־partitionsort_by, min_by, max_byסיכום - צינור נתוניםתרגלו בעצמכם: קומפיילר Ruby אונליין