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.