Menu
Coddy logo textTech

Student hinzufügen

Teil des Abschnitts Logik & Programmfluss der Ruby-Journey von Coddy — Lektion 49 von 56.

Definieren Sie eine add_student-Methode, die einen neuen Studenten im gemeinsamen student_records-Hash registriert.

Das Ablehnen von Duplikaten ist die einzige Verzweigung; sobald ein Student existiert, melden Sie dies und kehren Sie zurück, ohne zu überschreiben.

challenge icon

Aufgabe

Einfach

Behalten Sie am Anfang Ihrer Datei student_records = {} bei. Definieren Sie dann eine Methode add_student(name, age, courses), die:

  1. Falls name bereits ein Schlüssel in student_records ist, Student '<name>' already exists. ausgibt und zurückkehrt.
  2. Andernfalls { age: age, grades: [], courses: courses } unter name speichert und Student '<name>' added. ausgibt.

Ersetzen Sie am Ende Ihrer Datei den Testblock durch:

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

Die erwartete Ausgabe ist:

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

Da Methoden keine lokalen Variablen aus dem umschließenden Skript sehen können, deklarieren Sie student_records mit $student_records (einer globalen Variable), damit die Methode sie lesen und aktualisieren kann. Verwenden Sie diesen Namen auch innerhalb der Methode.

Probier es selbst

$student_records = {}

# TODO: def add_student(name, age, courses), Schutz gegen Duplikate,
# speichere { age:, grades: [], courses: }, gebe "added/already exists" aus

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

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Programmfluss