Menu
CoddyTech

Schüler hinzufügen

Teil des Abschnitts Logik und Ablauf der Ruby-Journey von Coddy. Lektion 49 von 56.

Definiere eine Methode add_student, die einen neuen Schüler im gemeinsam genutzten Hash student_records registriert.

Das Ablehnen von Duplikaten ist der einzige Zweig: Sobald ein Schüler bereits existiert, gib dies aus und kehre zurück, ohne ihn zu überschreiben.

challenge icon

Aufgabe

Einfach

Lass student_records = {} am Anfang deiner Datei stehen. Definiere dann eine Methode add_student(name, age, courses), die Folgendes tut:

  1. Wenn name bereits ein Schlüssel in student_records ist, gibt sie Student '<name>' already exists. aus und kehrt zurück.
  2. Andernfalls speichert sie { age: age, grades: [], courses: courses } unter name und gibt Student '<name>' added. aus.

Ersetze am Ende deiner 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 lautet:

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 nicht auf lokale Variablen aus dem einschließenden Skript zugreifen können, deklariere student_records mit $student_records (einer globalen Variable), damit die Methode darauf zugreifen und sie aktualisieren kann. Verwende diesen Namen auch innerhalb der Methode.

Probier es selbst

$student_records = {}

# TODO: def add_student(name, age, courses), Duplikate verhindern,
# { age:, grades: [], courses: } speichern, hinzugefügt/bereits vorhanden ausgeben

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 und Ablauf

Übe selbstständig: Online-Ruby-Compiler