Présentation du projet
Fait partie de la section Logique et Flux du Journey Ruby de Coddy. Leçon 48 sur 56.
Tu vas construire un petit système de dossiers étudiants sous la forme d’un ensemble de méthodes qui partagent toutes un même hash imbriqué. Sa structure est différente de celle du gestionnaire de bibliothèque ; pas de boucle de menu cette fois, simplement des fonctions que tu continueras à étendre.
L’état réside dans un seul hash de niveau supérieur :
student_records = {}Chaque entrée sera indexée par nom, avec une valeur de hachage contenant l’âge, les notes et les cours de l’étudiant :
{
"Alice" => { age: 20, grades: [], courses: ["Math", "Physics"] }
}Chaque leçon ajoute une méthode qui opère sur ce hachage : add_student, add_grade, average_grade, list_by_course, top_students.
Défi
DébutantInitialisez un hash vide nommé student_records au début de votre fichier. Puis affichez-le avec inspect afin que le test voie :
{}C'est toute la tâche ; cette leçon ne fait que configurer l'état partagé pour tout ce qui suit.
Essayez vous-même
# TODO: initialiser student_records = {} et l'afficher avec inspect
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Aperçu des méthodes de chaînesInterpolation de chaînesParcourir les chaînesSplit et JoinRécapitulatif - Tisseur de chaînes4Blocs, Procs et Lambdas
Qu'est-ce qu'un bloc ?do..end ou accoladesLe mot-clé yieldParamètres de blocProcs et LambdasRécapitulatif - Itérateur personnalisé7Hashes, 2e partie
Hash.new avec valeurs par défautParcourir les hashesHashes imbriquésFusionner et transformerRécapitulatif - Compteur de fréquences10Projet - Dossiers des étudiants
Présentation du projetAjouter un étudiant2Plages
Qu’est-ce qu’une plage ?Méthodes des plagesPlages dans Case / WhenRécapitulatif - Exercices sur les plages5Puissance des Enumerable
Select et RejectChaînage de MapReduce / Injectcount, all?, any?, none?group_by et partitionsort_by, min_by, max_byRécapitulatif - Pipeline de donnéesEntraînez-vous par vous-même : Compilateur Ruby en ligne