Menu
CoddyTech

Slicing degli array

Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 73 di 92.

Il metodo slice() restituisce un nuovo array con una parte degli elementi. slice(begin, end) prende gli elementi dall'indice begin fino all'indice end, escluso:

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

Senza end, la porzione arriva fino alla fine dell'array:

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

Gli indici negativi contano dalla fine. slice(-3) restituisce gli ultimi tre elementi e slice(0, -2) tutto tranne gli ultimi due:

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

Un terzo argomento, il passo, seleziona ogni n-esimo elemento. slice(1, 8, 2) seleziona gli indici 1, 3, 5 e 7:

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

slice() non modifica l'array originale: numbers contiene ancora tutti e dieci gli elementi.

challenge icon

Sfida

Facile

Il programma legge una riga di elementi separati da virgole nell’array items (già scritto). Stampa la parte centrale dell’array con slice():

  • Se il numero di elementi è dispari, stampa l’elemento centrale e un elemento per ciascun lato (3 elementi; se c’è un solo elemento, stampa quell’elemento)
  • Se è pari, stampa i due elementi centrali

Per apple,banana,orange,grape l’output è ["banana", "orange"], mentre per a,b,c,d,e è ["b", "c", "d"].

Provalo tu

extends Node

func _ready():
	var items := OS.read_string_from_stdin().split(",")
	# Stampa gli elementi centrali
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore GDScript online