Zugriff auf Hash-Elemente
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 74 von 88.
Da Sie nun wissen, wie man Hashes erstellt, müssen Sie die darin gespeicherten Werte abrufen. Im Gegensatz zu Arrays, bei denen Sie numerische Indizes verwenden, nutzen Hashes Schlüssel, um auf ihre Werte zuzugreifen.
Setzen Sie den Schlüssel in eckige Klammern, um den entsprechenden Wert zu erhalten:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Ausgabe: Alice
puts person["age"] # Ausgabe: 25Der Schlüssel muss exakt mit dem übereinstimmen, den Sie beim Erstellen des Hashs verwendet haben. Wenn Sie versuchen, auf einen Schlüssel zuzugreifen, der nicht existiert, gibt Ruby nil zurück:
person = {"name" => "Alice", "age" => 25}
puts person["country"] # Ausgabe: (nichts - nil)Sie können auch die fetch-Methode verwenden, mit der Sie einen Standardwert angeben können, wenn der Schlüssel fehlt:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # Ausgabe: Alice
puts person.fetch("country", "Unknown") # Ausgabe: UnknownDies ist nützlich, wenn Sie fehlende Schlüssel elegant behandeln möchten, anstatt nil zu erhalten.
Aufgabe
EinfachLies vier Zeilen der Eingabe ein:
- Ein Produktname (String)
- Ein Preis (Float)
- Eine Bestandsmenge (Integer)
- Ein zu suchender Schlüssel (String)
Erstelle ein Hash namens product mit den folgenden Schlüssel-Wert-Paaren:
"name"zugeordnet dem Produktnamen"price"zugeordnet dem Preis (als Float)"stock"zugeordnet der Menge (als Integer)
Verwende dann die Methode fetch, um den Wert für den in der vierten Eingabe angegebenen Schlüssel abzurufen. Wenn der Schlüssel nicht existiert, verwende "Not found" als Standardwert. Gib das Ergebnis aus.
Wenn die Eingaben beispielsweise Laptop, 999.99, 15 und price sind, sollte die Ausgabe wie folgt lauten:
999.99Wenn die Eingaben Keyboard, 49.99, 100 und name sind, sollte die Ausgabe wie folgt lauten:
KeyboardWenn die Eingaben Mouse, 29.99, 50 und color sind, sollte die Ausgabe wie folgt lauten:
Not foundWenn die Eingaben Monitor, 299.0, 8 und stock sind, sollte die Ausgabe wie folgt lauten:
8Spickzettel
Um auf Werte in einem Hash zuzugreifen, verwenden Sie den Schlüssel in eckigen Klammern:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Ausgabe: Alice
puts person["age"] # Ausgabe: 25Wenn ein Schlüssel nicht existiert, gibt Ruby nil zurück:
person = {"name" => "Alice", "age" => 25}
puts person["country"] # Ausgabe: (nichts - nil)Verwenden Sie die Methode fetch, um einen Standardwert für fehlende Schlüssel anzugeben:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # Ausgabe: Alice
puts person.fetch("country", "Unknown") # Ausgabe: UnknownProbier es selbst
# Eingabe lesen
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp
# TODO: Schreibe deinen Code unten
# Erstelle einen Hash namens 'product' mit den Schlüsseln "name", "price" und "stock"
# Verwende dann die fetch-Methode, um den Wert für key_to_lookup abzurufen
# Verwende "Not found" als Standardwert, falls der Schlüssel nicht existiert
# Ergebnis ausgeben
puts resultDiese 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 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe11Arrays
Arrays erstellenZugriff auf Array-ElementeArrays modifizierenArray-MethodenWiederholung – Produkt-ArrayWiederholung – Umgekehrtes ArrayArray-Shortcuts14Hashes
Hashes erstellenZugriff auf Hash-ElementeHashes ändernHash-MethodenRückblick – Produkt-HashSymbols als Hash-Schlüssel3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch