Empréstimo de Livros
Parte da seção Programação Orientada a Objetos do Journey de R da Coddy. Lição 51 de 57.
Desafio
FácilAdicione o comando BORROW por meio do método borrow(name, id). Mantenha todos os comandos das etapas anteriores funcionando exatamente como antes.
BORROW <name> <id>: verifique nesta ordem e responda com o primeiro problema:no member bo,no book 9,Dune is not available,ada has reached the limit(os membros podem ter no máximolimitlivros, 2). Caso contrário, registre o empréstimo tanto no livro (borrower) quanto no membro (borrowed) e respondaada borrowed Dune.
O código fornecido envia cada linha de entrada para lib$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.R, Member.R e Library.R. main.R contém o código fornecido de entrada/saída e não pode ser editado.
Experimente você mesmo
source("Book.R")
source("Member.R")
source("Library.R")
# Código de entrada/saída fornecido: mantenha-o como está
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}
Todas as lições de Programação Orientada a Objetos
1Fundamentos do S3
Trabalhando com ArquivosListas com uma ClasseFunções ConstrutorasMétodos de Impressão e FormataçãoValidadores e AuxiliaresRevisão - Temperaturas4Encapsulamento em R
Closures como ObjetosAmbientes como ObjetosFunções de AcessoProtegendo o EstadoRecapitulação - Parquímetro2Genéricos e Métodos S3
Genéricos e UseMethodMétodos padrãoMétodos para genéricos baseFundamentos de NextMethodRevisão - Áreas de formas5Classes S4
Definindo classes S4Slots e acessoVerificações de validadeMétodos showRevisão - Catálogo de produtos8Classes de Referência
Definindo Classes de ReferênciaMétodos e Atualizações de CamposSemântica de CópiaHerança e callSuperRecapitulação — Fila de Tarefas11Projeto: Gerenciamento de Biblioteca
Livros e MembrosEmpréstimo de LivrosPratique por conta própria: Compilador de R online