Symbole als Hash-Schlüssel
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 78 von 88.
Bisher hast du Strings als Hash-Schlüssel mit der Hash-Rocket-Syntax verwendet. Ruby-Entwickler verwenden jedoch häufig stattdessen Symbole als Schlüssel, was einen übersichtlicheren und effizienteren Ansatz bietet.
Erinnern Sie sich an Symbols von früher? Sie sind leichtgewichtige, unveränderliche Bezeichner, die mit einem Doppelpunkt beginnen. Wenn Symbole als Schlüssel verwendet werden, bietet Ruby eine spezielle Kurzschreibweise an:
person = {name: "Alice", age: 25, city: "Paris"}
puts person # Ausgabe: {:name=>"Alice", :age=>25, :city=>"Paris"}Beachten Sie, wie name: das :name => ersetzt. Diese Kurzschreibweise funktioniert nur, wenn der Schlüssel ein Symbol ist. Um auf Werte zuzugreifen, verwenden Sie das Symbol mit eckigen Klammern:
person = {name: "Alice", age: 25}
puts person[:name] # Ausgabe: Alice
puts person[:age] # Ausgabe: 25Das Hinzufügen und Ändern von Einträgen funktioniert auf dieselbe Weise:
person = {name: "Alice"}
person[:city] = "Paris"
person[:name] = "Bob"
puts person # Ausgabe: {:name=>"Bob", :city=>"Paris"}Symbole werden als Hash-Schlüssel bevorzugt, weil sie schneller zu vergleichen sind als Zeichenketten und weniger Speicher benötigen. Du wirst dieses Muster im gesamten Ruby-Code sehen, daher lohnt es sich, sich damit vertraut zu machen.
Aufgabe
EinfachLies drei Zeilen Eingabe ein:
- Eine Automarke (String)
- Ein Modellname (String)
- Ein Jahr (Integer)
Erstelle einen Hash namens car unter Verwendung der Symbol-Kurzschreibweise (z. B. key: value) mit den folgenden Schlüssel-Wert-Paaren:
:brandabgebildet auf die Automarke:modelabgebildet auf den Modellnamen:yearabgebildet auf das Jahr (als Integer)
Führe dann diese Operationen aus:
- Gib den Wert des Schlüssels
:modelaus - Füge einen neuen Schlüssel
:colormit dem Wert"black"hinzu - Aktualisiere den Schlüssel
:year, indem du 1 zu seinem aktuellen Wert addierst - Gib den finalen Hash aus
Wenn die Eingaben beispielsweise Toyota, Camry und 2020 sind, sollte die Ausgabe wie folgt aussehen:
Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}Wenn die Eingaben Honda, Civic und 2018 sind, sollte die Ausgabe wie folgt aussehen:
Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}Wenn die Eingaben Ford, Mustang und 2023 sind, sollte die Ausgabe wie folgt aussehen:
Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}Probier es selbst
# Eingabe lesen
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i
# TODO: Schreibe deinen Code unten
# 1. Erstelle ein Hash namens 'car' unter Verwendung der Symbol-Kurzschreibweise mit 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 1 zum aktuellen Wert addierst
# 5. Gib das finale Hash ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechner zum Aufteilen der Rechnung
WillkommensnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array-Slicing mit BereichenArray-Slicing mit IndizesArray-OperatorenInclude?-Methode2Variablen und Datentypen
Zahlen und VariablenString-DatentypBoolean-DatentypSymbol-DatentypDatentypen überprüfenNamenskonventionenWiederholung – Variablen erstellen5Entscheidungsfindung
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerVerschachteltes If - ElseUnless-Anweisung8Schleifen
For-Schleife mit BereichenWhile-SchleifeBreakNextRückblick – FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick – Dynamische Eingabe11Arrays
Arrays erstellenAuf Array-Elemente zugreifenArrays ändernArray-MethodenWiederholung – Produkt-ArrayWiederholung – Umgekehrtes ArrayArray-Kurzschreibweisen14Hashes
Hashes erstellenAuf Hash-Elemente zugreifenHashes ändernHash-MethodenRückblick – Produkt-HashSymbole als Hash-Schlüssel3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische KurzschreibweisenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsDie chomp-MethodeTypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder FalschÜbe selbstständig: Online-Ruby-Compiler