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 dascase
ie @ -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 dascase
ie @ -Anweisung scheint sich nicht wie eine Funktion zu verhalten.
Ich bin nur neugierig zu verstehen, was hier passiert. Jede Einsicht wäre sehr dankbar.