0Pricing
Ruby Academy · Lektion

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'
end

Array-Elemente binden

Verwenden Sie Bezeichner, um jede Position in einer Variable zu erfassen.

case [10, 20]
in [x, y]
  puts(x + y)
end

Die 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'
end

Splat 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
end

Splat 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}")
end

Hash-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'
end

Hash-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}")
end

Kurzschreibweise 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)
end

Keine 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'
end

Verschachtelte 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}")
end

Geparstes 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)
end

Kurzer 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
  • *rest erfasst verbleibende Elemente
  • Hash-Patterns gleichen nach Schlüssel ab und erlauben zusätzliche Schlüssel
  • Die Kurzschreibweise { key: } bindet gleichnamige Variablen
  • **nil verbietet zusätzliche Schlüssel; Patterns können tief verschachtelt werden
case { id: 1, items: [9, 8] }
in { items: [head, *] } then puts head
end

Hä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

  1. case/in-Grundlagen
  2. Array- und Hash-Patterns
  3. Find-Patterns und Guards
  4. Praktische Anwendungsfälle
← Zurück zu Ruby Academy