Dividere e unire
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 4 di 78.
Hai già diviso le stringhe con split() e unito gli array con join(). Entrambi possono fare di più.
Gli elementi di split() sono stringhe, esattamente come compaiono tra i separatori, spazi inclusi. Pulisci o converti ogni elemento prima di usarlo. Un elemento del risultato può essere sostituito tramite il suo indice:
var items := "sword, shield ,bow".split(",")
print(items)
for i in range(items.size()):
items[i] = items[i].strip_edges()
print(items)["sword", " shield ", "bow"]
["sword", "shield", "bow"]Il secondo argomento di split() è quello che hai già incontrato: true mantiene i pezzi vuoti, false li elimina. Un terzo argomento limita il numero di divisioni. split(" ", true, 1) divide solo in corrispondenza del primo spazio, che separa un comando dal resto della riga:
print("say hello there".split(" ", true, 1))["say", "hello there"]rsplit() funziona allo stesso modo, ma conta i tagli da destra, quindi può tagliare in corrispondenza dell’ultimo punto del nome di un file:
print("save.backup.json".rsplit(".", true, 1))["save.backup", "json"]join() accetta anche un array di numeri e converte ciascuno in testo: ", ".join([3, 1, 2]) è "3, 1, 2".
Sfida
FacileIl programma legge una riga di parole separate da virgole in line. Ci possono essere spazi intorno alle parole, per esempio red, green ,blue.
Stampa tre righe:
- Il numero di parole
- Le parole senza gli spazi intorno, in maiuscolo, unite con
>(spazio, segno di maggiore, spazio) - La parola più lunga, senza spazi. Se più parole hanno la stessa lunghezza, stampa la prima
Per l’input red, green ,blue, l’output è:
3
RED > GREEN > BLUE
greenProvalo tu
extends Node
func _ready():
var line := OS.read_string_from_stdin()
# Stampa il conteggio, le parole unite e la parola più lunga
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Stringhe in dettaglio
Metodi delle stringheRicerca nelle stringheSostituzione e trimDividere e unireRipasso - verifica del nome utente4Dizionari - Parte 2
Dizionari annidatiArray di dizionariUnire dizionariCopiare dizionariRiepilogo - Contatore di frequenza7Enumerazioni
Che cos'è un'enumerazione?Definire un'enumerazioneValori dell'enumerazioneEnumerazioni in MatchRiepilogo - Semaforo10Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di un array annidato13Sistema di gestione dell'inventario
Panoramica del progettoAggiungere un articolo2Decisioni avanzate
Match con variabiliGuardie di matchPattern per arrayPattern per dizionariVerifiche di appartenenzaRiepilogo - Parser di comandi5Applicazione Rubrica
Visualizzare il menuAggiungere un contatto8Gestione dei registri degli studenti
Panoramica del progettoAggiungi studente11Funzioni di ordine superiore
Il metodo mapIl metodo filterIl metodo reduceany e allRipasso - Validatore di emailRipasso - Elaboratore di numeri3Array multidimensionali
Fondamenti degli array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DRipasso - Array 2DArray frastagliatiSchemi comuni con gli array 2DRipasso - Tabellone di gioco6Insiemi con i dizionari
Che cos'è un insieme?Il dizionario come insiemeAggiungere e rimuovereUnione e intersezioneDifferenza tra insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Somma dei valoriTrovare minimo e massimoOrdinamento personalizzatoRiepilogo - Ordinatore di dizionariEsercitati da solo: Compilatore GDScript online