סקירה כללית של הפרויקט
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 28 מתוך 56.
אתם עומדים לבנות מנהל ספרייה קטן: תוכנית מבוססת תפריטים שעוקבת אחר ספרים ומאפשרת למשתמש להוסיף אותם, לחפש ולסנן אותם ולסמן אותם כנקראו.
כל ספר הוא hash עם המפתחות האלה:
{
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}תשמור את כולם במערך שנקרא library, ותפעיל את כל התוכנית מתוך loop do שמדפיסה תפריט וקוראת בחירה. כל שיעור מוסיף אפשרות אחת לתפריט:
- 1. הוספת ספר
- 2. חיפוש לפי כותרת
- 3. סינון לפי ז׳אנר
- 4. סימון ספר כנקרא
- 5. יציאה
השיעור הראשון הזה מגדיר את הספרייה הריקה, את לולאת התפריט ואת אפשרות היציאה. האפשרויות האחרות יתחילו כענפים ריקים שתמלאו בהמשך.
אתגר
מתחיליםאתחל מערך library ריק, ואז התחל loop do ש:
- מדפיס את התפריט (בדיוק בפורמט שבהמשך)
- קורא את בחירת המשתמש באמצעות
gets.chomp - אם הבחירה היא
"5", מדפיסGoodbye!ויוצא מהלולאה
התפריט חייב להיראות בדיוק כך:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: השתמש ב-print עבור ההנחיה Choose an option: כדי שהסמן יישאר באותה שורה.
עבור הקלט 5, הפלט הוא:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!נסו בעצמכם
# TODO: אתחול מערך library ריק
# TODO: לבצע לולאת do, להדפיס תפריט, לקרוא בחירה ולצאת בבחירה של "5"
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
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 אונליין