החזרת ספרים
חלק מהיחידה תכנות מונחה עצמים במסלול ה-R של Coddy. שיעור 52 מתוך 57.
אתגר
קלהוסף את הפקודה RETURN באמצעות המתודה return_book(name, id). השאר את כל הפקודות מהשלבים הקודמים פועלות בדיוק כמו קודם.
RETURN <name> <id>: השבno member boאוno book 9כמו במקרה של השאלה; אם החבר אינו מחזיק בספר הזה, השבada does not have Dune; אחרת הסר את המזהה מרשימת ההשאלות של החבר, הפוך את הספר לזמין (borrowerהופך ל־character(0)) והשבada returned Dune.
הקוד שסופק שולח כל שורת קלט אל lib$handle(line) ומדפיס כל תשובה שהוחזרה בשורה נפרדת. שמות החברים הם מילים בודדות באותיות קטנות, מזהי הספרים הם מספרים שלמים, והקלט מכיל רק את הפקודות שתוארו עד כה. כל פקודה אחרת משיבה unknown command.
הקוד שלך נמצא בקבצים Book.R, Member.R ו־Library.R. הקובץ main.R מכיל את קוד הקלט/פלט שסופק ואי אפשר לערוך אותו.
נסו בעצמכם
source("Book.R")
source("Member.R")
source("Library.R")
# קוד הקלט/פלט שסופק: יש להשאיר אותו כפי שהוא
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}
כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות S3
עבודה עם קבציםרשימות עם מחלקהפונקציות בנאימתודות print ו-formatמאמתים ופונקציות עזרחזרה – טמפרטורותתרגלו בעצמכם: קומפיילר R אונליין