Array- und Hash-Patterns
Daten dekonstruieren
Array- und Hash-Patterns ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.
Array-Patterns
Ein Array-Pattern gleicht nach Position und Länge ab. Jedes Element-Pattern wird mit dem entsprechenden Element verglichen.
case [1, 2, 3]
in [1, 2, 3]
puts 'exact match'
endArray-Elemente binden
Verwenden Sie Bezeichner, um jede Position in einer Variable zu erfassen.
case [10, 20]
in [x, y]
puts(x + y)
endDie Länge ist wichtig
Standardmäßig erfordert ein Array-Pattern die exakte Länge. Ein Pattern mit zwei Elementen passt nicht zu einem Array mit drei Elementen.
case [1, 2, 3]
in [a, b]
puts 'two'
in [a, b, c]
puts 'three'
endSplat für den Rest
Ein Splat *rest erfasst beliebig viele verbleibende Elemente in einem Array und macht die Länge flexibel.
case [1, 2, 3, 4]
in [first, *rest]
puts(first)
p rest
endSplat in der Mitte
Der Splat kann zwischen festen Elementen stehen, um den Anfang und das Ende zu erfassen und die Mitte zu ignorieren.
case [1, 2, 3, 4, 5]
in [first, *, last]
puts("#{first} ... #{last}")
endHash-Patterns
Ein Hash-Pattern gleicht nach Schlüsseln ab. Es prüft, ob die angegebenen Schlüssel vorhanden sind und ihre Werte übereinstimmen; zusätzliche Schlüssel sind erlaubt.
case { name: 'Ada', age: 36 }
in { name: 'Ada' }
puts 'found Ada'
endHash-Werte binden
Erfassen Sie einen Wert, indem Sie dem Schlüssel einen Bindungsnamen geben. Wenn Sie nur den Schlüssel schreiben, wird der Wert an eine gleichnamige Variable gebunden.
case { name: 'Bob', age: 25 }
in { name: String => n, age: Integer => a }
puts("#{n} is #{a}")
endKurzschreibweise für Schlüsselbindungen
Wenn Sie das Pattern nach einem Schlüssel weglassen, wird automatisch eine Variable mit dem Namen des Schlüssels gebunden.
case { city: 'Istanbul' }
in { city: }
puts(city)
endKeine zusätzlichen Schlüssel zulassen
Hash-Patterns ignorieren standardmäßig zusätzliche Schlüssel. Fügen Sie **nil hinzu, um zu verlangen, dass nur die aufgeführten Schlüssel vorhanden sind.
case { a: 1 }
in { a: 1, **nil }
puts 'exactly one key'
endVerschachtelte Patterns
Patterns können beliebig verschachtelt werden, sodass Sie tiefe Strukturen in einem einzigen Zweig zerlegen können.
data = { user: { name: 'Ada', tags: ['admin', 'dev'] } }
case data
in { user: { name:, tags: [first_tag, *] } }
puts("#{name}: #{first_tag}")
endGeparstes JSON abgleichen
Pattern Matching eignet sich hervorragend für geparste JSON- oder CSV-Daten und extrahiert genau die benötigten Felder.
require 'json'
resp = JSON.parse('{"status":"ok","items":[1,2,3]}', symbolize_names: true)
case resp
in { status: 'ok', items: }
puts(items.sum)
endKurzer Check
Gleicht das Hash-Pattern in { a: 1 } standardmäßig den Hash { a: 1, b: 2 } ab?
Zusammenfassung: Array- und Hash-Patterns
Sie können Collections zerlegen:
- Array-Patterns gleichen nach Position und Länge ab
*resterfasst verbleibende Elemente- Hash-Patterns gleichen nach Schlüssel ab und erlauben zusätzliche Schlüssel
- Die Kurzschreibweise
{ key: }bindet gleichnamige Variablen **nilverbietet zusätzliche Schlüssel; Patterns können tief verschachtelt werden
case { id: 1, items: [9, 8] }
in { items: [head, *] } then puts head
endHäufig gestellte Fragen
Ist die Lektion „Array- und Hash-Patterns“ kostenlos?
Ja — der vollständige Text von „Array- und Hash-Patterns“ 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 „Array- und Hash-Patterns“?
Daten dekonstruieren 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 2 von 4.
Wie lange dauert die Lektion „Array- und Hash-Patterns“?
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
- case/in-Grundlagen
- Array- und Hash-Patterns
- Find-Patterns und Guards
- Praktische Anwendungsfälle