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