סקירת הפרויקט
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 48 מתוך 56.
אתה עומד לבנות מערכת קטנה לרישומי תלמידים בתור אוסף של מתודות שכולן חולקות hash מקונן אחד. מבנה שונה מזה של Library Manager, בלי לולאת תפריט הפעם, רק פונקציות שתמשיך להרחיב.
המצב נשמר בגיבוב יחיד ברמה העליונה:
student_records = {}כל רשומה תהיה ממופה לפי שם, כאשר ערך ה-hash יכיל את גיל התלמיד, הציונים והקורסים שלו:
{
"Alice" => { age: 20, grades: [], courses: ["Math", "Physics"] }
}כל שיעור מוסיף שיטה אחת שפועלת על הגיבוב הזה: add_student, add_grade, average_grade, list_by_course, top_students.
אתגר
מתחיליםאתחל hash ריק בשם student_records בראש הקובץ שלך. לאחר מכן הדפס אותו באמצעות inspect כדי שהבדיקה תראה:
{}זה כל האתגר, השיעור הזה רק מגדיר את המצב המשותף לכל מה שיבוא בהמשך.
נסו בעצמכם
# TODO: אתחל את student_records = {} והדפס אותו באמצעות inspect
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
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 אונליין