Menu
Coddy logo textTech

Slicing de Arrays con Índices

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 70 de 88.

Ruby ofrece otra forma de segmentar arreglos utilizando un índice de inicio y una longitud. En lugar de especificar un rango, proporcionas dos números: dónde empezar y cuántos elementos extraer.

La sintaxis utiliza una coma para separar el índice de inicio de la cantidad:

numbers = [10, 20, 30, 40, 50]
slice = numbers[1, 3]

puts slice  # Salida: 20, 30, 40

Esto extrae 3 elementos comenzando desde el índice 1. El primer número es la posición inicial, y el segundo es cuántos elementos deseas.

Este enfoque es especialmente útil cuando sabes exactamente cuántos elementos necesitas:

letters = ["a", "b", "c", "d", "e"]
first_two = letters[0, 2]

puts first_two  # Salida: a, b

Los índices negativos también funcionan aquí. Puedes empezar desde el final del array:

colors = ["red", "green", "blue", "yellow"]
last_two = colors[-2, 2]

puts last_two  # Salida: blue, yellow

Si solicitas más elementos de los que están disponibles, Ruby simplemente devuelve lo que existe sin generar un error:

nums = [1, 2, 3]
slice = nums[1, 10]

puts slice  # Salida: 2, 3

Elija este método cuando conozca la cantidad de elementos necesarios y utilice rangos cuando conozca las posiciones exactas.

challenge icon

Desafío

Fácil

Lee tres entradas:

  1. Una sola línea de enteros separados por comas (por ejemplo, 5,10,15,20,25,30,35,40)
  2. Un índice de inicio (entero)
  3. El número de elementos a extraer (entero)

Divide la primera entrada en un arreglo de enteros. Utiliza el índice de inicio y la cantidad para segmentar el arreglo usando la sintaxis de índice y longitud, luego imprime cada elemento de la parte segmentada en su propia línea.

Por ejemplo, si las entradas son 5,10,15,20,25,30,35,40, 2 y 4, la salida debería ser:

15
20
25
30

Si las entradas son 100,200,300,400,500, 0 y 2, la salida debería ser:

100
200

Si las entradas son a,b,c,d,e,f,g, -3 y 2, la salida debería ser:

e
f

Si las entradas son 10,20,30, 1 y 10, la salida debería ser:

20
30

Hoja de referencia

Ruby permite segmentar (slicing) arreglos usando un índice de inicio y una longitud. La sintaxis utiliza una coma para separar el índice de inicio de la cantidad:

array[start_index, length]

Ejemplo básico:

numbers = [10, 20, 30, 40, 50]
slice = numbers[1, 3]
puts slice  # Salida: 20, 30, 40

El primer número es la posición inicial y el segundo es cuántos elementos extraer.

Los índices negativos funcionan con esta sintaxis, permitiéndote comenzar desde el final del arreglo:

colors = ["red", "green", "blue", "yellow"]
last_two = colors[-2, 2]
puts last_two  # Salida: blue, yellow

Si solicitas más elementos de los disponibles, Ruby devuelve lo que existe sin generar un error:

nums = [1, 2, 3]
slice = nums[1, 10]
puts slice  # Salida: 2, 3

Pruébalo tú mismo

# Leer entradas
input_line = gets.chomp
start_index = gets.chomp.to_i
count = gets.chomp.to_i

# Dividir la entrada en un arreglo
arr = input_line.split(',')

# TODO: Escribe tu código a continuación para segmentar el arreglo usando la sintaxis de índice y longitud
# e imprimir cada elemento en su propia línea
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos