Menu
CoddyTech

Découpage des tableaux

Fait partie de la section Fondamentaux du Journey GDScript de Coddy. Leçon 73 sur 92.

La méthode slice() renvoie un nouveau tableau contenant une partie des éléments. slice(begin, end) prend les éléments à partir de l’index begin jusqu’à l’index end, sans l’inclure :

var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))
[2, 3, 4, 5]

Sans end, la tranche va jusqu’à la fin du tableau :

print(numbers.slice(5))
[5, 6, 7, 8, 9]

Les indices négatifs comptent à partir de la fin. slice(-3) prend les trois derniers éléments, et slice(0, -2) prend tout sauf les deux derniers :

print(numbers.slice(-3))
print(numbers.slice(0, -2))
[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]

Un troisième argument, le pas, sélectionne un élément sur n. slice(1, 8, 2) sélectionne les index 1, 3, 5 et 7 :

print(numbers.slice(1, 8, 2))
[1, 3, 5, 7]

slice() ne modifie pas le tableau d’origine : numbers contient toujours les dix éléments.

challenge icon

Défi

Facile

Le programme lit une ligne d’éléments séparés par des virgules dans le tableau items (déjà écrit). Affiche la partie centrale du tableau avec slice() :

  • Si le nombre d’éléments est impair, affiche l’élément du milieu et un élément de chaque côté (3 éléments ; s’il n’y a qu’un seul élément, affiche cet élément)
  • S’il est pair, affiche les deux éléments du milieu

Pour apple,banana,orange,grape, la sortie est ["banana", "orange"], et pour a,b,c,d,e, c’est ["b", "c", "d"].

Essayez vous-même

extends Node

func _ready():
	var items := OS.read_string_from_stdin().split(",")
	# Affiche les éléments du milieu
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 GDScript en ligne