סיכום - צינור נתונים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 27 מתוך 56.
אתגר אחד שמעביר מערך נתונים קטן דרך שרשרת של מתודות Enumerable, כפי שתכתבו Ruby בעולם האמיתי.
אתגר
בינונינתון המערך orders, וכל איבר בו הוא גיבוב עם :product, :qty ו־:price. הדפיסו שלוש שורות:
- סך ההכנסות מכל ההזמנות (
qty * price, בסכימה). השתמשו ב־map+reduce(:+), או ב־sum { ... }. - מספר ההזמנות שבהן
qty >= 3(השתמשו ב־count). - שם המוצר של ההזמנה עם ההכנסה הגבוהה ביותר (השתמשו ב־
max_by).
עבור המערך המוגדר כברירת מחדל, הפלט הוא:
59
2
milkנסו בעצמכם
orders = [
{ product: "apple", qty: 4, price: 2 },
{ product: "bread", qty: 1, price: 3 },
{ product: "milk", qty: 6, price: 4 },
{ product: "cheese", qty: 2, price: 12 }
]
# TODO: סך ההכנסות, מספר ההזמנות שבהן qty >= 3, המוצר שהניב את ההכנסות הגבוהות ביותר
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
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 אונליין