Devolución de libros
Parte de la sección Programación orientada a objetos del Journey de R de Coddy. Lección 52 de 57.
Desafío
FácilAñade el comando RETURN mediante el método return_book(name, id). Mantén todos los comandos de los pasos anteriores funcionando exactamente como antes.
RETURN <name> <id>: respondeno member boono book 9como al pedir prestado; si el miembro no tiene ese libro, respondeada does not have Dune; de lo contrario, elimina el id de los préstamos del miembro, haz que el libro esté disponible (borrowerse convierte encharacter(0)) y respondeada returned Dune.
El código proporcionado envía cada línea de entrada a lib$handle(line) e imprime cada respuesta devuelta en su propia línea. Los nombres de los miembros son palabras individuales en minúsculas, los ids de los libros son números enteros y la entrada contiene únicamente los comandos descritos hasta ahora. Cualquier otro comando responde unknown command.
Tu código va en Book.R, Member.R y Library.R. main.R contiene el código proporcionado de entrada/salida y no se puede editar.
Pruébalo tú mismo
source("Book.R")
source("Member.R")
source("Library.R")
# Código de entrada/salida suministrado: déjalo 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 las lecciones de Programación orientada a objetos
1Fundamentos de S3
Trabajar con archivosListas con una claseFunciones constructorasMétodos de impresión y formatoValidadores y auxiliaresRepaso: temperaturas4Encapsulación en R
Cierres como objetosEntornos como objetosFunciones de accesoProtección del estadoRepaso: parquímetro2S3 Genéricos y métodos
Genéricos y UseMethodMétodos predeterminadosMétodos para genéricos baseFundamentos de NextMethodRepaso: áreas de figuras5Clases S4
Definición de clases S4Slots y accesoComprobaciones de validezMétodos showRepaso - Catálogo de productos8Clases de referencia
Definición de clases de referenciaMétodos y actualizaciones de camposSemántica de copiaHerencia y callSuperRepaso: cola de tareas11Proyecto: Gestión de biblioteca
Libros y miembrosPréstamo de librosPractica por tu cuenta: Compilador de R online