Menu
Coddy logo textTech

Выдача книг

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

challenge icon

Задание

Легко

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

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

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

Ваш код должен находиться в файлах book.rb, member.rb и library.rb. В main.rb находится предоставленный код ввода/вывода, и его нельзя редактировать.

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

require_relative 'book'
require_relative 'member'
require_relative 'library'

# Предоставленный код ввода/вывода: оставьте его как есть
input = []
while (line = gets)
  input << line.chomp
end
library = Library.new
input.each do |line|
  library.handle(line).each { |reply| puts reply }
end

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

Потренируйтесь самостоятельно: Онлайн-компилятор Ruby