Hashes erstellen
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 73 von 88.
Arrays eignen sich hervorragend zum Speichern geordneter Listen, aber manchmal musst du Werte bestimmten Bezeichnungen statt numerischen Indizes zuordnen. Ein Hash speichert Daten als Schlüssel-Wert-Paare, wobei jeder Schlüssel auf einen entsprechenden Wert verweist.
Um einen Hash zu erstellen, verwende geschweifte Klammern mit Schlüsseln und Werten, die durch => getrennt sind (genannt Hash Rocket):
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # Gibt aus: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}Jeder Schlüssel muss innerhalb des Hashes eindeutig sein, Werte können sich jedoch wiederholen. Schlüssel und Werte können jeden Datentyp haben, einschließlich Zeichenfolgen, Zahlen oder sogar Arrays.
Du kannst auch einen leeren Hash erstellen und später Paare hinzufügen:
scores = {}
puts scores # Gibt aus: {}Hashes eignen sich perfekt, um reale Objekte mit benannten Attributen darzustellen, etwa ein Produkt mit einem Namen und einem Preis oder einen Benutzer mit einer E-Mail-Adresse und einem Passwort. Anders als bei Arrays, bei denen du dir Positionen merken musst, kannst du mit Hashes aussagekräftige Namen verwenden, um deine Daten zu organisieren.
Aufgabe
EinfachLies drei Eingabezeilen ein:
- Einen Buchtitel (Zeichenkette)
- Den Namen eines Autors (Zeichenkette)
- Das Erscheinungsjahr (Ganzzahl)
Erstelle einen Hash namens book mit drei Schlüssel-Wert-Paaren und verwende dabei die Hash-Rocket-Syntax (=>):
"title"dem Buchtitel zuordnen"author"dem Namen des Autors zuordnen"year"dem Erscheinungsjahr zuordnen (als Ganzzahl)
Gib den Hash mit puts aus.
Wenn die Eingaben beispielsweise Ruby Basics, Jane Smith und 2023 sind, sollte die Ausgabe wie folgt aussehen:
{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}Wenn die Eingaben The Great Gatsby, F. Scott Fitzgerald und 1925 sind, sollte die Ausgabe wie folgt aussehen:
{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}Wenn die Eingaben 1984, George Orwell und 1949 sind, sollte die Ausgabe wie folgt aussehen:
{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}Probier es selbst
# Eingabe einlesen
title = gets.chomp
author = gets.chomp
year = gets.to_i
# TODO: Einen Hash namens 'book' mit drei Schlüssel-Wert-Paaren in der Hash-Rocket-Syntax (=>) erstellen
# Die Schlüssel sollen "title", "author" und "year" sein
# Den Hash ausgeben
puts bookDiese 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 Eingabe3Operatoren 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