Menu
CoddyTech

Hash-Methoden

Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 76 von 88.

Ruby bietet mehrere integrierte Methoden, mit denen du Hashes leichter untersuchen und bearbeiten kannst. Mit diesen Methoden erhältst du schnell Zugriff auf Informationen über den Inhalt deines Hashes.

Die Methode keys gibt ein Array mit allen Schlüsseln im Hash zurück:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.keys  # Gibt name, age und city aus, jeweils in einer eigenen Zeile

Ebenso gibt die Methode values ein Array mit allen Werten zurück:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.values  # Gibt Alice, 25 und Paris aus, jeweils in einer eigenen Zeile

Um zu prüfen, ob ein bestimmter Schlüssel vorhanden ist, verwende key? oder dessen Alias has_key?:

person = {"name" => "Alice", "age" => 25}

puts person.key?("name")     # Gibt aus: true
puts person.key?("country")  # Gibt aus: false

Die Methode length 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?  # Gibt aus: true
challenge icon

Aufgabe

Einfach

Lies zwei Eingabezeilen ein:

  1. Einen Hash, dargestellt als durch Kommas getrennte Schlüssel-Wert-Paare im Format key:value (z. B. name:Alice,age:25,city:Paris)
  2. Einen Schlüssel, dessen Vorhandensein überprüft werden soll (Zeichenfolge)

Verarbeite die erste Eingabe, um einen Hash zu erstellen, und verwende dann die Hash-Methoden, die du gelernt hast, um die folgenden Informationen auszugeben, jeweils in einer eigenen Zeile:

  1. Gib jeden Schlüssel im Hash aus (einen pro Zeile)
  2. Gib --- als Trennzeichen aus
  3. Gib jeden Wert im Hash aus (einen 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 vorhanden ist

Wenn die Eingaben zum Beispiel name:Alice,age:25,city:Paris und age sind, sollte die Ausgabe wie folgt aussehen:

name
age
city
---
Alice
25
Paris
---
3
---
false
---
true

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

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

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

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

Probier es selbst

# Eingabe einlesen
input_string = gets.chomp
key_to_check = gets.chomp

# Die Eingabezeichenfolge parsen, um einen 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 (einen pro Zeile)
# 2. "---" als Trennzeichen auszugeben
# 3. Jeden Wert auszugeben (einen pro Zeile)
# 4. "---" als Trennzeichen auszugeben
# 5. Die Anzahl der Schlüssel-Wert-Paare auszugeben
# 6. "---" als Trennzeichen auszugeben
# 7. true/false auszugeben, wenn hash leer ist
# 8. "---" als Trennzeichen auszugeben
# 9. Gib true/false aus, je nachdem, ob key_to_check in hash vorhanden ist
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

Übe selbstständig: Online-Ruby-Compiler