Comparación de rangos y tuplas
Utilice switch con rangos numéricos y formas de tupla.
Comparación de rangos y tuplas es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.
Coincidir con un rango
Un caso puede coincidir con todo un rango de valores usando operadores de rango como 1...5. Si el valor está dentro del rango, se ejecuta el caso.
let score = 85
switch score {
case 0..<50:
print("Fail")
case 50...100:
print("Pass")
default:
print("Invalid")
}Cerrado frente a semiabierto
Use rangos cerrados (...) para incluir el límite superior y rangos semiabiertos (..<) para excluirlo. Elija límites que no se solapen.
let age = 18
switch age {
case 0..<13:
print("Child")
case 13..<20:
print("Teen")
default:
print("Adult")
}Orden de los casos de rango
Swift comprueba los casos de arriba abajo y ejecuta la primera coincidencia, por lo que los rangos que no se solapan mantienen un comportamiento predecible.
let temp = 30
switch temp {
case ..<0:
print("Freezing")
case 0..<20:
print("Cool")
case 20...:
print("Warm")
default:
print("?")
}Usar switch con tuplas
Puede usar un switch sobre una tupla para coincidir con varios valores a la vez. Cada posición puede ser un literal, un rango o un comodín _.
let point = (1, 1)
switch point {
case (0, 0):
print("Origin")
case (_, 0):
print("On x-axis")
case (0, _):
print("On y-axis")
default:
print("Elsewhere")
}Comodines en tuplas
El guion bajo _ coincide con cualquier valor de esa posición, lo que permite centrarse en las partes que le interesan.
let result = (200, "OK")
switch result {
case (200, _):
print("Success")
case (_, "Error"):
print("Has error")
default:
print("Other")
}Rangos dentro de tuplas
Los patrones de tupla pueden usar rangos en cada posición para realizar coincidencias bidimensionales potentes.
let coord = (3, 8)
switch coord {
case (0...5, 0...5):
print("Bottom-left quadrant")
case (0...5, 6...10):
print("Top-left quadrant")
default:
print("Far")
}Coincidir con tuplas exactas
Puede coincidir con una tupla completamente especificada para detectar una combinación exacta.
let move = ("up", 2)
switch move {
case ("up", 2):
print("Jump twice up")
case ("down", _):
print("Going down")
default:
print("Other move")
}Clasificar números
La coincidencia por rangos permite clasificar un número en categorías de forma clara y directa.
let n = -4
switch n {
case ..<0:
print("negative")
case 0:
print("zero")
case 1...:
print("positive")
default:
print("?")
}Rangos de caracteres
Como los caracteres se pueden comparar, incluso puede hacer coincidir rangos de caracteres.
let ch: Character = "k"
switch ch {
case "a"..."m":
print("First half")
case "n"..."z":
print("Second half")
default:
print("Not a lowercase letter")
}Combinar posiciones de una tupla
La coincidencia de tuplas evalúa todas las posiciones conjuntamente; todas deben coincidir para que se ejecute el caso.
let weather = (sunny: true, temp: 25)
switch (weather.sunny, weather.temp) {
case (true, 20...):
print("Nice and warm")
case (true, _):
print("Sunny but cool")
default:
print("Not sunny")
}Por qué resulta potente
Los patrones de rangos y tuplas permiten expresar con un solo switch una lógica que requeriría muchas instrucciones if anidadas, todo ello en una estructura plana y legible.
let (x, y) = (0, 5)
switch (x, y) {
case (0, 0): print("origin")
case (0, _): print("y-axis")
case (_, 0): print("x-axis")
default: print("plane")
}Comprobación rápida
Pruebe la coincidencia de rangos y tuplas.
Repaso: coincidir con rangos y tuplas
Los casos pueden coincidir con rangos como 1...5 y 0..<n, y los patrones de tupla permiten coincidir con varios valores a la vez usando literales, rangos y el comodín _.
let p = (0, 4)
switch p {
case (0, _): print("y-axis")
default: print("other")
}Preguntas frecuentes
¿La lección «Comparación de rangos y tuplas» es gratis?
Sí — el texto completo de «Comparación de rangos y tuplas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Comparación de rangos y tuplas»?
Utilice switch con rangos numéricos y formas de tupla. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Comparación de rangos y tuplas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Switch exhaustivo sobre valores
- Comparación de rangos y tuplas
- Vinculación de valores y cláusulas where
- Casos compuestos y fallthrough