Crear segmentos con rangos
Extraiga subsecuencias sin copiar los datos.
Crear segmentos con rangos es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 1 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.
Usar un rango como subíndice
Cuando usa un rango como subíndice de un array, Swift no copia los elementos en un array nuevo. En su lugar, devuelve un ArraySlice que comparte el almacenamiento con el array original.
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)
print(type(of: slice))Rango semiabierto
El operador ..< crea un rango semiabierto. 1..<4 incluye los índices 1, 2 y 3, pero no el 4.
let letters = ["a", "b", "c", "d", "e"]
let middle = letters[1..<4]
print(middle)Obtener un slice con un rango cerrado
Use ... para crear un rango cerrado cuando quiera incluir el límite superior. 1...3 abarca los índices 1, 2 y 3.
let scores = [88, 92, 75, 64, 99]
let closed = scores[1...3]
print(closed)Rangos de un solo extremo
Swift admite rangos de un solo extremo. arr[2...] significa desde el índice 2 hasta el final, y arr[..<2] significa todo lo anterior al índice 2.
let data = [1, 2, 3, 4, 5, 6]
print(data[3...])
print(data[..<3])Los slices son vistas
Un ArraySlice es una vista del array principal. Se crea de forma económica porque no se copia ningún elemento hasta que se modifica o se convierte.
let big = Array(1...1000)
let window = big[100..<105]
print(window)Iterar sobre un slice
Puede recorrer un slice igual que un array. Los valores son los mismos elementos que contiene el array principal.
let words = ["sun", "moon", "star", "comet"]
let pair = words[1..<3]
for w in pair {
print(w)
}Slice de strings
La obtención de slices funciona con cualquier tipo de elemento. Aquí extraemos un rango de un array de nombres.
let names = ["Ada", "Bob", "Cleo", "Dan", "Eve"]
let some = names[0..<2]
print(some)Combinar con count
Puede crear un rango dinámicamente usando count del array para obtener sus últimos elementos.
let nums = [5, 10, 15, 20, 25]
let lastTwo = nums[(nums.count - 2)..<nums.count]
print(lastTwo)Slice vacío
Un rango cuyos límites inferior y superior son iguales produce un slice vacío. Esto es válido y seguro.
let arr = [1, 2, 3, 4]
let empty = arr[2..<2]
print(empty)
print(empty.isEmpty)Obtener un slice y sumarlo
Como un slice sigue cumpliendo los mismos protocolos, puede llamar directamente a métodos como reduce.
let values = [2, 4, 6, 8, 10]
let sum = values[1..<4].reduce(0, +)
print(sum)Por qué son importantes los slices
Los slices permiten trabajar con subsecciones de arrays grandes sin asumir el coste de copiarlos. Esto resulta excelente para algoritmos como la búsqueda binaria o las ventanas deslizantes.
let series = Array(1...20)
let firstHalf = series[..<10]
let secondHalf = series[10...]
print(firstHalf.count, secondHalf.count)Comprobación rápida
Compruebe su comprensión de los slices obtenidos con rangos.
Resumen
Ha aprendido que usar un rango como subíndice de un array devuelve un ArraySlice que comparte el almacenamiento con el array principal. El rango semiabierto ..< excluye el límite superior, el rango cerrado ... lo incluye y los rangos de un solo extremo permiten obtener un prefijo o sufijo de forma económica.
let r = [10, 20, 30, 40]
print(r[1..<3])
print(r[1...])
print(r[..<2])Preguntas frecuentes
¿La lección «Crear segmentos con rangos» es gratis?
Sí — el texto completo de «Crear segmentos con rangos» 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 «Crear segmentos con rangos»?
Extraiga subsecuencias sin copiar los datos. 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 1 de 4.
¿Cuánto tiempo toma la lección «Crear segmentos con rangos»?
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
- Crear segmentos con rangos
- Semántica de índices de ArraySlice
- Convertir segmentos de nuevo en arrays
- prefix, suffix y dropFirst