Búsqueda en el catálogo
Parte de la sección Programación orientada a objetos del Journey de R de Coddy. Lección 53 de 57.
Desafío
FácilAñade el comando SEARCH mediante el método search_titles(text). Mantén todos los comandos de los pasos anteriores funcionando exactamente como antes.
SEARCH <text>: el texto puede contener espacios. Responde con una línea por cada libro cuyo título contenga el texto, ignorando mayúsculas y minúsculas, en orden de id del libro:Dune (available)oEmma (borrowed by ada). Si no hay coincidencias, respondeno matches.
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 de entrada/salida proporcionado 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