Menu
Coddy logo textTech

Relatório da Biblioteca

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

challenge icon

Desafio

Médio

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

  • REPORT: responda books: 3, borrowed: 1 e, em seguida, uma linha por membro em ordem alfabética: ada: Dune, Emma, com os títulos na ordem em que foram emprestados, ou bo: none.

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. Qualquer outro comando responde 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