Menu
Coddy logo textTech

Busca no Catálogo

Parte da seção Programação orientada a objetos do Journey de Ruby da Coddy. Lição 53 de 57.

challenge icon

Desafio

Fácil

Adicione o comando SEARCH. Mantenha todos os comandos das etapas anteriores funcionando exatamente como antes.

  • SEARCH text: o texto pode conter espaços. Responda com uma linha para cada livro cujo título contenha o texto, ignorando maiúsculas e minúsculas, na ordem do id do livro: Dune (available) ou Emma (borrowed by ada). Se não houver correspondência, responda no matches.

O código fornecido passa cada linha de entrada para library.handle(line) e imprime cada resposta retornada em sua própria linha. Os nomes dos membros são palavras únicas em minúsculas, os ids dos livros são números inteiros, e a entrada contém apenas os comandos descritos até agora. Para qualquer outro comando, responda unknown command.

Seu código deve estar em book.rb, member.rb e library.rb. main.rb contém o código fornecido de entrada/saída e não pode ser editado.

Experimente você mesmo

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

# Código de entrada/saída fornecido: mantenha-o como está
input = []
while (line = gets)
  input << line.chomp
end
library = Library.new
input.each do |line|
  library.handle(line).each { |reply| puts reply }
end

Todas as lições de Programação orientada a objetos

Pratique por conta própria: Compilador de Ruby online