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'
endcase/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}"
endLiterale 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'
endTyppatterns
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)
endDer 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'
endPin-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'
endAlternative 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'
endDas 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)
endNoMatchingPatternError
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'
endAbgleich 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 resultKurzer 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/ingleicht die Form ab, nicht nur die Gleichheit- Literale, Typpatterns und der Platzhalter
_ - Variablenbindung und der Pin-Operator
^ - Alternativen mit
|undpattern => name - Ein fehlender Treffer löst
NoMatchingPatternErroraus
case 7
in Integer => n then puts(n * 2)
endHä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.