Cómo funciona case en if-case

Un viejo programador de C podría usar algo de ayuda con Swift.

No entiendo algo sobre la sintaxis if-case. P.ej.:

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

loscase 20...30 = age parece ser la prueba condicional para elif declaración. Inicialmente, estaba confundido al ver el operador de asignación ('=') utilizado en lugar de un operador de comparación ('==').

Ok, pensé para mí mismo, eso probablemente significacase La declaración es en realidad una llamada de función que devuelve un valor booleano. El valor devuelto satisfará la prueba de comparación en elif declaración.

Como experimento, traté de tratar elcase declaración como una prueba condicional regular y coloca paréntesis a su alrededor. Swift aceptará felizmenteif (x == 5) oif (true). Peroif (case 20...30 = age) genera un error Entonces elcase declaración no parece comportarse como una función.

Tengo curiosidad por entender lo que está sucediendo aquí. Cualquier idea sería muy apreciada.

Respuestas a la pregunta(4)

Su respuesta a la pregunta