Menu
Coddy logo textTech

Выдача книг

Часть раздела Объектно-ориентированное программирование путешествия по Swift на Coddy. Урок 51 из 57.

challenge icon

Задание

Легко

Добавьте команду BORROW. Сохраните работу всех команд из предыдущих шагов в точности как прежде.

  • BORROW <name> <id>: выполните проверки в этом порядке и выведите ответ с первой обнаруженной проблемой: no member bo, no book 9, Dune is not available, ada has reached the limit (участник может иметь не более 2 книг). В противном случае зафиксируйте выдачу и для книги, и для участника и выведите ответ ada borrowed Dune.

Предоставленный код передаёт каждую входную строку в library.handle(_:) и выводит каждый возвращённый ответ в отдельной строке. Имена участников состоят из одного слова в нижнем регистре, идентификаторы книг являются целыми числами, а входные данные содержат только описанные на данный момент команды. Для любой другой команды выводится ответ unknown command.

Ваш код должен находиться в файлах Book.swift, Member.swift и Library.swift. Файл main.swift содержит предоставленный код ввода/вывода, и его нельзя редактировать.

Попробуйте сами

// Предоставленный код ввода/вывода: оставьте его как есть
var input: [String] = []
while let line = readLine() { input.append(line) }
let library = Library()
for line in input {
    for reply in library.handle(line) { print(reply) }
}

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Песочница Swift