Auf Hash-Elemente zugreifen
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 74 von 88.
Nachdem Sie nun wissen, wie man Hashes erstellt, müssen Sie die darin gespeicherten Werte abrufen. Anders als bei Arrays, bei denen Sie numerische Indizes verwenden, nutzen Hashes Schlüssel, um auf ihre Werte zuzugreifen.
Setze den key in eckige Klammern, um seinen entsprechenden Wert zu erhalten:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Ausgabe: Alice
puts person["age"] # Ausgabe: 25Der Schlüssel muss genau dem entsprechen, 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 ordnungsgemäß behandeln möchten, anstatt nil zu erhalten.
Aufgabe
EinfachLies vier Zeilen der Eingabe:
- Ein Produktname (String)
- Ein Preis (Float)
- Eine Lagermenge (Integer)
- Ein gesuchter Schlüssel (String)
Erstelle ein hash namens product mit den folgenden Schlüssel-Wert-Paaren:
"name"zugewiesen an den Produktnamen"price"zugewiesen an den Preis (als Float)"stock"zugewiesen an die Menge (als Integer)
Verwende dann die fetch-Methode, um den Wert für den in der vierten Eingabe angegebenen Schlüssel abzurufen. Wenn der Schlüssel nicht existiert, verwende "<code>Not found" als Standardwert. Gib das Ergebnis aus.
Wenn die Eingaben beispielsweise Laptop, 999.99, 15 und price lauten, sollte die Ausgabe wie folgt aussehen:
999.99Wenn die Eingaben Keyboard, 49.99, 100 und name lauten, sollte die Ausgabe wie folgt aussehen:
KeyboardWenn die Eingaben Mouse, 29.99, 50 und color lauten, sollte die Ausgabe wie folgt aussehen:
Not foundWenn die Eingaben Monitor, 299.0, 8 und stock lauten, sollte die Ausgabe wie folgt aussehen:
8Probier 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 darunter
# 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 den genauen Text aus den Anweisungen als Standardwert, falls der Schlüssel nicht existiert
# Das 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 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