Menu
Coddy logo textTech

Agregar estudiante

Parte de la sección Lógica y flujo del Journey de Ruby de Coddy — lección 49 de 56.

Define un método add_student que registre a un nuevo estudiante en el hash compartido student_records.

Rechazar duplicados es la única rama; una vez que un estudiante existe, infórmalo y regresa sin sobrescribir.

challenge icon

Desafío

Fácil

En la parte superior de tu archivo, mantén student_records = {}. Luego define un método add_student(name, age, courses) que:

  1. Si name ya es una clave en student_records, imprime Student '<name>' already exists. y retorna.
  2. De lo contrario, almacena { age: age, grades: [], courses: courses } bajo name e imprime Student '<name>' added.

En la parte inferior de tu archivo, reemplaza el bloque de prueba con:

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_student("Alice", 21, ["Art"])
puts student_records.inspect

La salida esperada es:

Student 'Alice' added.
Student 'Bob' added.
Student 'Alice' already exists.
{"Alice"=>{:age=>20, :grades=>[], :courses=>["Math", "Physics"]}, "Bob"=>{:age=>22, :grades=>[], :courses=>["Biology", "Chemistry"]}}

Debido a que los métodos no pueden ver variables locales del script que los contiene, declara student_records con $student_records (una global) para que el método pueda leerla y actualizarla. Usa ese nombre también dentro del método.

Pruébalo tú mismo

$student_records = {}

# POR HACER: def add_student(name, age, courses), proteger contra duplicados,
# almacenar { age:, grades: [], courses: }, imprimir agregado/ya existe

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_student("Alice", 21, ["Art"])
puts $student_records.inspect
quiz iconPonte a prueba

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