Hash-Methoden
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 76 von 88.
Ruby bietet mehrere integrierte Methoden, die Ihnen helfen, Hashes effektiver zu untersuchen und mit ihnen zu arbeiten. Diese Methoden ermöglichen Ihnen einen schnellen Zugriff auf Informationen über den Inhalt Ihres Hashes.
Die keys-Methode gibt ein Array aller Schlüssel im Hash zurück:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Ausgabe: name, age, cityÄhnlich gibt die values-Methode ein Array aller Werte zurück:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Ausgabe: Alice, 25, ParisUm zu prüfen, ob ein bestimmter Schlüssel existiert, verwenden Sie key? oder dessen Alias has_key?:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Ausgabe: true
puts person.key?("country") # Ausgabe: falseDie length-Methode gibt an, wie viele Schlüssel-Wert-Paare der Hash enthält:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Ausgabe: 3Schließlich prüft empty?, ob der Hash überhaupt Paare enthält:
data = {}
puts data.empty? # Ausgabe: trueAufgabe
EinfachLies zwei Eingabezeilen ein:
- Ein Hash, dargestellt als kommagetrennte Schlüssel-Wert-Paare im Format
key:value(z. B.name:Alice,age:25,city:Paris) - Ein Schlüssel, dessen Existenz überprüft werden soll (String)
Parse die erste Eingabe, um einen Hash zu erstellen, und verwende dann die gelernten Hash-Methoden, um die folgenden Informationen auszugeben, jeweils in einer eigenen Zeile:
- Gib jeden Schlüssel im Hash aus (einer pro Zeile)
- Gib
---als Trennzeichen aus - Gib jeden Wert im Hash aus (einer pro Zeile)
- Gib
---als Trennzeichen aus - Gib die Anzahl der Schlüssel-Wert-Paare im Hash aus
- Gib
---als Trennzeichen aus - Gib
trueoderfalseaus, je nachdem, ob der Hash leer ist - Gib
---als Trennzeichen aus - Gib
trueoderfalseaus, je nachdem, ob der Schlüssel aus der zweiten Eingabe im Hash existiert
Wenn die Eingaben beispielsweise name:Alice,age:25,city:Paris und age lauten, sollte die Ausgabe wie folgt aussehen:
name
age
city
---
Alice
25
Paris
---
3
---
false
---
trueWenn die Eingaben product:Laptop,price:999 und stock lauten, sollte die Ausgabe wie folgt aussehen:
product
price
---
Laptop
999
---
2
---
false
---
falseWenn die Eingaben status:active und status lauten, sollte die Ausgabe wie folgt aussehen:
status
---
active
---
1
---
false
---
trueSpickzettel
Ruby bietet integrierte Methoden zur Inspektion und Arbeit mit Hashes:
Die Methode keys gibt ein Array aller Schlüssel zurück:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Ausgabe: name, age, cityDie Methode values gibt ein Array aller Werte zurück:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Ausgabe: Alice, 25, ParisDie Methode key? (oder ihr Alias has_key?) prüft, ob ein bestimmter Schlüssel existiert:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Ausgabe: true
puts person.key?("country") # Ausgabe: falseDie Methode length gibt die Anzahl der Schlüssel-Wert-Paare zurück:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Ausgabe: 3Die Methode empty? prüft, ob der Hash Paare enthält:
data = {}
puts data.empty? # Ausgabe: trueProbier es selbst
# Eingabe lesen
input_string = gets.chomp
key_to_check = gets.chomp
# Den Eingabestring parsen, um ein Hash zu erstellen
hash = {}
input_string.split(',').each do |pair|
key, value = pair.split(':')
hash[key] = value
end
# TODO: Schreibe deinen Code unten
# Verwende Hash-Methoden, um:
# 1. Jeden Schlüssel auszugeben (einer pro Zeile)
# 2. "---" als Trennzeichen auszugeben
# 3. Jeden Wert auszugeben (einer pro Zeile)
# 4. "---" als Trennzeichen auszugeben
# 5. Die Anzahl der Schlüssel-Wert-Paare auszugeben
# 6. "---" als Trennzeichen auszugeben
# 7. true/false auszugeben, ob das Hash leer ist
# 8. "---" als Trennzeichen auszugeben
# 9. true/false auszugeben, ob key_to_check im Hash existiertDiese 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 Eingabe3Operatoren 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