Wie funktioniert case in if-case

Ein alter C-Programmierer könnte Hilfe bei Swift gebrauchen.

Ich verstehe nichts über die If-Case-Syntax. Z.B.

if case 20...30 = age {
   print ("in range.")
}

Dascase 20...30 = age scheint der bedingte Test für das @ zu seif Erklärung. Daher war ich anfangs verwirrt, den Zuweisungsoperator ('=') anstelle eines Vergleichsoperators ('==') zu sehen.

Ok, dachte ich mir, das heißt wohl dascaseie @ -Anweisung ist eigentlich ein Funktionsaufruf, der einen booleschen Wert zurückgibt. Der zurückgegebene Wert erfüllt dann den Vergleichstest imif Erklärung

ls Experiment habe ich versucht, diecase -Anweisung wie ein regulärer Bedingungstest und in Klammern gesetzt. Swift akzeptiert gerneif (x == 5) oderif (true). Aberif (case 20...30 = age) erzeugt einen Fehler. Also dascaseie @ -Anweisung scheint sich nicht wie eine Funktion zu verhalten.

Ich bin nur neugierig zu verstehen, was hier passiert. Jede Einsicht wäre sehr dankbar.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage