Descripción general del proyecto
Parte de la sección Lógica y flujo del Journey de Ruby de Coddy — lección 48 de 56.
Vas a construir un pequeño sistema de registros de estudiantes como un conjunto de métodos que comparten un único hash anidado. Con una estructura diferente a la del Library Manager, esta vez sin un bucle de menú, solo funciones que irás extendiendo.
El estado reside en un único hash de nivel superior:
student_records = {}Cada entrada estará indexada por nombre, con un valor hash que contiene la edad, las calificaciones y los cursos del estudiante:
{
"Alice" => { age: 20, grades: [], courses: ["Math", "Physics"] }
}Cada lección añade un método que opera sobre este hash: add_student, add_grade, average_grade, list_by_course, top_students.
Desafío
PrincipianteInicializa un hash vacío llamado student_records en la parte superior de tu archivo. Luego imprímelo con inspect para que la prueba vea:
{}Esa es toda la tarea, esta lección simplemente establece el estado compartido para todo lo que sigue.
Pruébalo tú mismo
# TODO: inicializa student_records = {} y imprímelo con inspect
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y flujo
1Strings en profundidad
Visión general de los métodos de StringInterpolación de StringsIterar sobre StringsSplit y JoinRepaso - String Weaver4Bloques, Procs y Lambdas
¿Qué es un bloque?do..end vs llavesLa palabra clave yieldParámetros de bloqueProcs y LambdasResumen - Iterador personalizado7Hashes Parte 2
Hash.new con valores por defectoIteración de HashesHashes anidadosFusión y transformaciónResumen - Contador de frecuencia10Proyecto - Registros de Estudiantes
Descripción general del proyectoAgregar estudiante5Potencia de Enumerable
Select y RejectEncadenando MapReduce / Injectcount, all?, any?, none?group_by y partitionsort_by, min_by, max_byResumen - Data Pipeline