Menu
Coddy logo textTech

Поиск в каталоге

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

challenge icon

Задание

Легко

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

  • SEARCH text: текст может содержать пробелы. Для каждой книги, название которой содержит этот текст без учёта регистра, выведите одну строку в порядке идентификаторов книг: Dune (available) или Emma (borrowed by ada). Если совпадений нет, выведите no matches.

Предоставленный код передаёт каждую строку ввода в 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