0Pricing
Ruby Academy · Lektion

Standardwerte und Zusammenführen

fetch, merge, dig

Standardwerte und Zusammenführen ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ruby Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Das Problem mit nil

Das Auslesen eines fehlenden Schlüssels gibt nil zurück, was bei Berechnungen oder logischen Ausdrücken zu Überraschungen führen kann. Ruby bietet sicherere Möglichkeiten, mit fehlenden Werten umzugehen.

h = { a: 1 }
puts h[:b].inspect

Sicherer Zugriff mit fetch

fetch gibt den Wert zurück oder löst einen eindeutigen Fehler aus, wenn der Schlüssel fehlt. Verwenden Sie es, wenn ein Schlüssel erforderlich ist.

h = { name: "Ada" }
puts h.fetch(:name)

fetch mit einem Standardwert

Übergeben Sie fetch ein zweites Argument als Ersatzwert, der nur verwendet wird, wenn der Schlüssel fehlt.

h = { name: "Ada" }
puts h.fetch(:age, 0)
puts h.fetch(:name, "Unknown")

fetch mit einem Block

Übergeben Sie einen Block, um den Ersatzwert verzögert zu berechnen. Der Block wird nur ausgeführt, wenn der Schlüssel nicht gefunden wird.

h = {}
puts h.fetch(:x) { "computed default" }

Hash mit einem Standardwert

Hash.new(default) gibt für jeden fehlenden Schlüssel den Standardwert statt nil zurück. Der Standardwert wird gemeinsam verwendet; verwenden Sie diese Variante daher bevorzugt für einfache unveränderliche Werte.

counts = Hash.new(0)
counts[:a] += 1
counts[:a] += 1
puts counts[:a]
puts counts[:b]

Standardwert mit einem Block

Hash.new { |hash, key| ... } berechnet für jeden Schlüssel einen neuen Standardwert und eignet sich ideal zum Gruppieren in Arrays.

groups = Hash.new { |h, k| h[k] = [] }
groups[:fruit] << "apple"
groups[:fruit] << "pear"
puts groups[:fruit].inspect

Mit Standardwerten zählen

Ein Standardwert von 0 macht das Zählen von Wörtern einfach und übersichtlich.

words = ["a", "b", "a", "a"]
count = Hash.new(0)
words.each { |w| count[w] += 1 }
puts count

Hashes zusammenführen

merge führt zwei Hashes zu einem neuen zusammen. Bei einem Konflikt haben die Schlüssel des zweiten Hashes Vorrang.

defaults = { color: "red", size: "M" }
user = { color: "blue" }
puts defaults.merge(user)

Mit einem Block zusammenführen

Übergeben Sie merge einen Block, um Konflikte aufzulösen, etwa indem Sie Werte addieren.

a = { x: 1, y: 2 }
b = { y: 3, z: 4 }
puts a.merge(b) { |key, old, new| old + new }

Sicherer Zugriff auf verschachtelte Daten mit dig

dig liest sicher durch verschachtelte Hashes und gibt nil zurück, wenn eine Ebene fehlt, statt einen Fehler auszulösen.

data = { user: { address: { city: "London" } } }
puts data.dig(:user, :address, :city)
puts data.dig(:user, :phone, :home).inspect

Die Werkzeuge kombinieren

Verwenden Sie Standardwerte und merge gemeinsam, um eine Konfiguration aus Basiswerten und Überschreibungen zu erstellen.

base = { retries: 3, timeout: 30 }
options = base.merge(timeout: 60)
puts options.fetch(:timeout)

Kurzer Test

Überprüfen Sie Ihr Wissen zu Standardwerten und dem Zusammenführen.

Zusammenfassung

Sie können jetzt mit fehlenden Daten umgehen:

  • fetch mit Standardwert, Block oder strikt auslösendem Fehler
  • Hash.new(0) und Block-Standardwerte zum Zählen und Gruppieren
  • merge mit Konfliktblöcken
  • dig für sicheren Zugriff auf verschachtelte Daten

Nächster Kurs: Bereiche und Enumerable.

c = Hash.new(0)
c[:hits] += 1
puts c[:hits]

Häufig gestellte Fragen

Ist die Lektion „Standardwerte und Zusammenführen“ kostenlos?

Ja — der vollständige Text von „Standardwerte und Zusammenführen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ruby Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Standardwerte und Zusammenführen“?

fetch, merge, dig Du übst Ruby Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ruby Academy zu starten?

Keine Vorkenntnisse erforderlich. Ruby Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Standardwerte und Zusammenführen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ruby Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ruby Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Symbole vs. Strings
  2. Hashes erstellen und lesen
  3. Hash-Iteration
  4. Standardwerte und Zusammenführen
← Zurück zu Ruby Academy