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 mismo hash anidado. Tiene una estructura diferente a la de Library Manager; esta vez no habrá un bucle de menú, solo funciones que seguirás ampliando.
El estado vive en un único hash de nivel superior:
student_records = {}Cada entrada tendrá como clave el 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. Después imprímelo con inspect para que la prueba vea:
{}Esta es toda la tarea; esta lección solo configura el estado compartido para todo lo que sigue.
Pruébalo tú mismo
# TODO: inicializa student_records = {} e 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
1Cadenas en profundidad
Descripción general de los métodos de cadenasInterpolación de cadenasIteración sobre cadenasSeparar y unirRepaso: Tejedor de cadenas4Bloques, Procs y Lambdas
¿Qué es un bloque?do..end frente a llavesLa palabra clave yieldParámetros de bloqueProcs y LambdasRepaso: iterador personalizado7Hashes Parte 2
Hash.new con valores predeterminadosIteración de hashesHashes anidadosCombinación y transformaciónRepaso: contador de frecuencias10Proyecto - Registros de estudiantes
Descripción general del proyectoAgregar estudiante5Potencia Enumerable
Select y RejectEncadenamiento de MapReduce / Injectcount, all?, any?, none?group_by y partitionsort_by, min_by, max_byRepaso: canalización de datosPractica por tu cuenta: Compilador de Ruby online