Menu
Coddy logo textTech

השאלת ספרים

חלק מהיחידה תכנות מונחה עצמים במסלול ה-R של Coddy. שיעור 51 מתוך 57.

challenge icon

אתגר

קל

הוסיפו את הפקודה BORROW באמצעות המתודה borrow(name, id). ודאו שכל הפקודות מהשלבים הקודמים ממשיכות לפעול בדיוק כמו קודם.

  • BORROW <name> <id>: בדקו לפי הסדר הזה והשיבו עם הבעיה הראשונה: no member bo, no book 9, Dune is not available, ada has reached the limit (חברים יכולים להחזיק לכל היותר limit ספרים, 2). אחרת, תעדו את ההשאלה גם בספר (borrower) וגם אצל החבר (borrowed) והשיבו ada borrowed 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 = "")
}

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר R אונליין