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.
Sfida
FacileIl 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
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto7Input/Output di base
OutputOutput con variabiliFormattazione delle stringheInputConversione di tipoRiepilogo - Fino a 120Riepilogo - Vero o falso10Funzioni
Dichiarare una funzioneArgomentiRestituzioneTipi di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di convalidaValori predefiniti5Operatori - Parte 2
Operatori logici - Parte 1Operatori logici - Parte 2Riepilogo - Logica sempliceOperatori logici - Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoInserimento dei dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Variabili Parte 2
Dichiarazione del tipoInferenza del tipoCostantiRipasso - Inizializzare le variabiliConversione di tipo6Strutture decisionali
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIf - Else annidatiIstruzione match9Cicli
Ciclo forCiclo whilebreakcontinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Compilatore GDScript online