Emprunter des livres
Fait partie de la section Programmation orientée objet du Journey R de Coddy. Leçon 51 sur 57.
Défi
FacileAjoutez la commande BORROW via la méthode borrow(name, id). Veillez à ce que toutes les commandes des étapes précédentes continuent de fonctionner exactement comme avant.
BORROW <name> <id>: vérifiez dans cet ordre et renvoyez le premier problème rencontré :no member bo,no book 9,Dune is not available,ada has reached the limit(les membres peuvent détenir au maximumlimitlivres, 2). Sinon, enregistrez l’emprunt à la fois sur le livre (borrower) et sur le membre (borrowed), puis renvoyezada borrowed Dune.
Le code fourni envoie chaque ligne d’entrée à lib$handle(line) et affiche chaque réponse renvoyée sur sa propre ligne. Les noms des membres sont des mots simples en minuscules, les identifiants des livres sont des nombres entiers, et l’entrée contient uniquement les commandes décrites jusqu’à présent. Toute autre commande renvoie unknown command.
Votre code doit être placé dans Book.R, Member.R et Library.R. main.R contient le code d’entrée/sortie fourni et ne peut pas être modifié.
Essayez vous-même
source("Book.R")
source("Member.R")
source("Library.R")
# Code d'entrée/sortie fourni : le garder tel quel
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}
Toutes les leçons de Programmation orientée objet
1Bases de S3
Travailler avec les fichiersListes avec une classeFonctions constructricesMéthodes print et formatValidateurs et fonctions utilitairesRécapitulatif - Températures4Encapsulation dans R
Les fermetures comme objetsLes environnements comme objetsFonctions d’accèsProtéger l’étatRécapitulatif - Parcmètre2S3 : génériques et méthodes
Génériques et UseMethodMéthodes par défautMéthodes pour les génériques de baseNotions de base sur NextMethodRécapitulatif - Aires des formes5Classes S4
Définir des classes S4Slots et accèsVérifications de validitéMéthodes showRécapitulatif - Catalogue de produits8Classes de référence
Définition des classes de référenceMéthodes et mises à jour des champsSémantique de copieHéritage et callSuperRécapitulatif - File d’attente des tâches11Projet : gestion de bibliothèque
Livres et membresEmprunter des livres3Héritage S3
Vecteurs de classesOrdre de recherche des méthodesÉtendre avec NextMethodVérifier avec inherits()Récapitulatif - Paie du personnelEntraînez-vous par vous-même : Compilateur R en ligne