Menu
CoddyTech

Slicing de tableaux avec des index

Fait partie de la section Fondamentaux du Journey Ruby de Coddy. Leçon 70 sur 88.

Ruby propose une autre façon de découper les tableaux à l’aide d’un indice de départ et d’une longueur. Au lieu de spécifier une plage, tu fournis deux nombres : où commencer et combien d’éléments extraire.

La syntaxe utilise une virgule pour séparer l’indice de départ du nombre d’éléments :

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

puts slice  # Affiche : 20, 30, 40

Cela extrait 3 éléments à partir de l’indice 1. Le premier nombre indique la position de départ et le deuxième le nombre d’éléments souhaités.

Cette approche est particulièrement utile lorsque tu sais exactement de combien d’éléments tu as besoin :

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

puts first_two  # Affiche : a, b

Les index négatifs fonctionnent ici aussi. Tu peux commencer à partir de la fin du tableau :

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

puts last_two  # Affiche : blue, yellow

Si tu demandes plus d’éléments qu’il n’y en a de disponibles, Ruby renvoie simplement ceux qui existent, sans déclencher d’erreur :

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

puts slice  # Affiche : 2, 3

Choisis cette méthode lorsque tu connais le nombre d’éléments nécessaires, et utilise des plages lorsque tu connais les positions exactes.

challenge icon

Défi

Facile

Lisez trois entrées :

  1. Une seule ligne contenant des entiers séparés par des virgules (par ex. 5,10,15,20,25,30,35,40)
  2. Un indice de départ (entier)
  3. Le nombre d’éléments à extraire (entier)

Divisez la première entrée en un tableau d’entiers. Utilisez l’indice de départ et le nombre d’éléments pour extraire une tranche du tableau avec la syntaxe indice-et-longueur, puis affichez chaque élément de la portion extraite sur sa propre ligne.

Par exemple, si les entrées sont 5,10,15,20,25,30,35,40, 2 et 4, la sortie devrait être :

15
20
25
30

Si les entrées sont 100,200,300,400,500, 0 et 2, la sortie devrait être :

100
200

Si les entrées sont a,b,c,d,e,f,g, -3 et 2, la sortie devrait être :

e
f

Si les entrées sont 10,20,30, 1 et 10, la sortie devrait être :

20
30

Essayez vous-même

# Lire les entrées
input_line = gets.chomp
start_index = gets.chomp.to_i
count = gets.chomp.to_i

# Diviser l’entrée en un tableau
arr = input_line.split(',')

# TODO: Écrivez votre code ci-dessous pour extraire une partie du tableau avec la syntaxe indice-et-longueur
# et afficher chaque élément sur sa propre ligne
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Ruby en ligne