Menu
CoddyTech

Symbole als Hash-Schlüssel

Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 78 von 88.

Bisher hast du Zeichenketten mit der Hash-Rocket-Syntax als Hash-Schlüssel verwendet. Ruby-Entwickler verwenden jedoch häufig stattdessen Symbole als Schlüssel, was einen übersichtlicheren und effizienteren Ansatz bietet.

Erinnerst du dich an Symbole von früher? Sie sind leichtgewichtige, unveränderliche Bezeichner, die mit einem Doppelpunkt beginnen. Wenn du Symbole als Schlüssel verwendest, bietet Ruby eine spezielle Kurzschreibweise:

person = {name: "Alice", age: 25, city: "Paris"}

puts person  # Ausgabe: {:name=>"Alice", :age=>25, :city=>"Paris"}

Beachte, wie name: :name => ersetzt. Diese Kurzform funktioniert nur, wenn der Schlüssel ein Symbol ist. Um auf Werte zuzugreifen, verwende das Symbol mit eckigen Klammern:

person = {name: "Alice", age: 25}

puts person[:name]  # Gibt aus: Alice
puts person[:age]   # Gibt aus: 25

Das Hinzufügen und Ändern von Einträgen funktioniert auf dieselbe Weise:

person = {name: "Alice"}

person[:city] = "Paris"
person[:name] = "Bob"

puts person  # Gibt aus: {:name=>"Bob", :city=>"Paris"}

Symbole werden als Hash-Schlüssel bevorzugt, weil sie sich schneller vergleichen lassen als Zeichenfolgen und weniger Speicher benötigen. Dieses Muster begegnet dir überall im Ruby-Code, daher lohnt es sich, sich damit vertraut zu machen.

challenge icon

Aufgabe

Einfach

Lies drei Eingabezeilen ein:

  1. Eine Automarke (Zeichenfolge)
  2. Einen Modellnamen (Zeichenfolge)
  3. Ein Jahr (Ganzzahl)

Erstelle mithilfe der Symbol-Kurzschreibweise (z. B. key: value) einen Hash namens car mit den folgenden Schlüssel-Wert-Paaren:

  • :brand ist der Automarke zugeordnet
  • :model ist dem Modellnamen zugeordnet
  • :year ist dem Jahr zugeordnet (als Ganzzahl)

Führe dann diese Operationen aus:

  1. Gib den Wert des Schlüssels :model aus
  2. Füge einen neuen Schlüssel :color mit dem Wert "black" hinzu
  3. Aktualisiere den Schlüssel :year, indem du 1 zu seinem aktuellen Wert addierst
  4. Gib den endgültigen Hash aus

Wenn die Eingaben beispielsweise Toyota, Camry und 2020 lauten, sollte die Ausgabe wie folgt aussehen:

Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}

Wenn die Eingaben Honda, Civic und 2018 lauten, sollte die Ausgabe wie folgt aussehen:

Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}

Wenn die Eingaben Ford, Mustang und 2023 lauten, sollte die Ausgabe wie folgt aussehen:

Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}

Probier es selbst

# Eingabe einlesen
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i

# TODO: Schreibe deinen Code unten
# 1. Erstelle einen Hash namens 'car' mit der Kurzschreibweise für Symbole und den Schlüsseln :brand, :model und :year

# 2. Gib den Wert des Schlüssels :model aus

# 3. Füge einen neuen Schlüssel :color mit dem Wert "black" hinzu

# 4. Aktualisiere den Schlüssel :year, indem du zu seinem aktuellen Wert 1 addierst

# 5. Gib den fertigen Hash aus
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 Grundlagen

Übe selbstständig: Online-Ruby-Compiler