Préstamo de libros
Parte de la sección Programación orientada a objetos del Journey de R de Coddy. Lección 51 de 57.
Desafío
FácilAñade el comando BORROW mediante el método borrow(name, id). Mantén todos los comandos de los pasos anteriores funcionando exactamente como antes.
BORROW <name> <id>: comprueba en este orden y responde con el primer problema:no member bo,no book 9,Dune is not available,ada has reached the limit(los miembros pueden tener como máximolimitlibros, 2). De lo contrario, registra el préstamo tanto en el libro (borrower) como en el miembro (borrowed) y respondeada borrowed 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 identificadores 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 tal 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