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

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

Practica por tu cuenta: Compilador de Ruby online