0Pricing
Ruby Academy · Lektion

case/in-Grundlagen

Strukturelles Matching

case/in-Grundlagen ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.

Pattern Matching kommt hinzu

Der Ausdruck case/in von Ruby führt strukturelles Pattern Matching durch: Er prüft die Form und den Inhalt von Daten, nicht nur ihre Gleichheit. Das ist eine leistungsfähige Weiterentwicklung von case/when.

case 42
in Integer
  puts 'it is an integer'
end

case/in vs. case/when

case/when vergleicht mit === (auf Gleichheit basierend). case/in zerlegt Werte und kann Variablen binden. Verwenden Sie in, um Strukturen abzugleichen.

case 'hello'
in String => s
  puts "string of length #{s.length}"
end

Literale abgleichen

Ein in-Zweig kann einen Literalwert abgleichen und funktioniert damit wie eine präzise Gleichheitsprüfung.

case 3
in 1 then puts 'one'
in 3 then puts 'three'
in _ then puts 'other'
end

Typpatterns

Der Name einer Klasse gleicht jeden Wert dieses Typs ab und nutzt dabei intern ===.

def describe(x)
  case x
  in Integer then 'number'
  in String then 'text'
  in Array then 'list'
  end
end
puts(describe([1, 2]))

Variablen binden

Ein einfacher Bezeichner in einem Pattern bindet den abgeglichenen Wert an eine neue Variable, die Sie im Zweig verwenden können.

case [1, 2]
in [a, b]
  puts(a + b)
end

Der Platzhalter

Der Unterstrich _ gleicht alles ab, ohne eine Bindung herzustellen. Verwenden Sie ihn als Auffangmuster oder um Positionen zu ignorieren.

case 99
in 0 then puts 'zero'
in _ then puts 'something else'
end

Pin-Operator

Um den Wert einer vorhandenen Variable abzugleichen (statt eine neue zu binden), versehen Sie sie mit ^ mit einem Pin.

expected = 5
case 5
in ^expected
  puts 'matched the pinned value'
end

Alternative Patterns

Kombinieren Sie Patterns mit |, um in einem Zweig eine von mehreren Alternativen abzugleichen.

case 'b'
in 'a' | 'b' | 'c'
  puts 'in the first three letters'
end

Das gesamte Match binden

Verwenden Sie pattern => name, um ein Pattern zu prüfen und den abgeglichenen Wert gleichzeitig an einen Namen zu binden.

case 'Ruby'
in String => word
  puts(word.upcase)
end

NoMatchingPatternError

Wenn kein in-Zweig übereinstimmt und kein else vorhanden ist, löst Ruby NoMatchingPatternError aus. Fügen Sie ein else hinzu, um den Rest sicher zu behandeln.

case 10
in 1 then puts 'one'
else
  puts 'no specific match'
end

Abgleich in einer Zeile

Der Operator => führt eine einzeilige Zuweisung nach rechts mit Abgleich durch und löst bei einem Fehlschlag einen Fehler aus. Der Operator in gibt stattdessen true/false zurück.

result = [1, 2] in [Integer, Integer]
puts result

Kurzer Check

Was passiert, wenn ein case/in keinen passenden Zweig und kein else enthält?

Zusammenfassung: case/in-Grundlagen

Sie haben die Grundlagen des strukturellen Matchings gelernt:

  • case/in gleicht die Form ab, nicht nur die Gleichheit
  • Literale, Typpatterns und der Platzhalter _
  • Variablenbindung und der Pin-Operator ^
  • Alternativen mit | und pattern => name
  • Ein fehlender Treffer löst NoMatchingPatternError aus
case 7
in Integer => n then puts(n * 2)
end

Häufig gestellte Fragen

Ist die Lektion „case/in-Grundlagen“ kostenlos?

Ja — der vollständige Text von „case/in-Grundlagen“ 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 „case/in-Grundlagen“?

Strukturelles Matching 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 1 von 4.

Wie lange dauert die Lektion „case/in-Grundlagen“?

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