Menu
Coddy logo textTech

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, Paris

Um 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: false

Die 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: 3

Schließlich prüft empty?, ob der Hash überhaupt Paare enthält:

data = {}
puts data.empty?  # Ausgabe: true
challenge icon

Aufgabe

Einfach

Lies zwei Eingabezeilen ein:

  1. Ein Hash, dargestellt als kommagetrennte Schlüssel-Wert-Paare im Format key:value (z. B. name:Alice,age:25,city:Paris)
  2. 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:

  1. Gib jeden Schlüssel im Hash aus (einer pro Zeile)
  2. Gib --- als Trennzeichen aus
  3. Gib jeden Wert im Hash aus (einer pro Zeile)
  4. Gib --- als Trennzeichen aus
  5. Gib die Anzahl der Schlüssel-Wert-Paare im Hash aus
  6. Gib --- als Trennzeichen aus
  7. Gib true oder false aus, je nachdem, ob der Hash leer ist
  8. Gib --- als Trennzeichen aus
  9. Gib true oder false aus, 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
---
true

Wenn die Eingaben product:Laptop,price:999 und stock lauten, sollte die Ausgabe wie folgt aussehen:

product
price
---
Laptop
999
---
2
---
false
---
false

Wenn die Eingaben status:active und status lauten, sollte die Ausgabe wie folgt aussehen:

status
---
active
---
1
---
false
---
true

Spickzettel

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, city

Die Methode values gibt ein Array aller Werte zurück:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values  # Ausgabe: Alice, 25, Paris

Die 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: false

Die Methode length gibt die Anzahl der Schlüssel-Wert-Paare zurück:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length  # Ausgabe: 3

Die Methode empty? prüft, ob der Hash Paare enthält:

data = {}
puts data.empty?  # Ausgabe: true

Probier 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 existiert
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen