סיכום – פריט מלאי
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Swift של Coddy. שיעור 11 מתוך 57.
אתגר
בינוניהשלם את המבנה StockItem עם המאפיינים name ו-quantity. הוסף את המתודות המשנות receive(_:) (מוסיפה) ו-ship(_:) (מחסירה רק כשיש מספיק במלאי, ומחזירה אם אכן עשתה זאת), וכן את label() שאינה משנה את המבנה ומחזירה tea: 12 או tea: out of stock כשהכמות היא 0.
לאחר מכן השלם את process(start:commands:): היא יוצרת את הפריט, שומרת עותק שלו בשם opening לפני הפקודה הראשונה, מבצעת את הפקודות ומחזירה שורה אחת עבור כל משלוח שנדחה (cannot ship 5), ולאחר מכן now ואחריו התווית של הפריט, ו-was ואחריו התווית של opening.
הקוד שסופק קורא את הפריט בפורמט name,quantity ואת הפקודות +n או -n, ומדפיס כל שורה שמוחזרת.
יש לכתוב את הקוד שלך בקבצים StockItem.swift ו-Functions.swift. הקובץ main.swift מכיל את קוד הקלט/פלט שסופק ואי אפשר לערוך אותו.
נסו בעצמכם
// קוד קלט/פלט שסופק: יש להשאיר אותו כפי שהוא
var input: [String] = []
while let line = readLine() { input.append(line) }
let p = input[0].split(separator: ",").map(String.init)
let item = StockItem(name: p[0], quantity: Int(p[1])!)
for line in process(start: item, commands: Array(input.dropFirst())) { print(line) }
כל השיעורים ביחידה תכנות מונחה עצמים
תרגלו בעצמכם: Swift אונליין