Aggiungere e leggere elementi
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 14 di 73.
Fai già crescere e restringere le tabelle Lua con table.insert e table.remove: entrambi funzionano esattamente allo stesso modo sugli array tipizzati. La differenza è che ora Luau controlla ciò che inserisci: inserire una stringa in un array {number} viene segnalato mentre scrivi, invece di essere scoperto da un giocatore confuso durante l'esecuzione.
local queue: {string} = {"save", "load"}
table.insert(queue, "quit") -- aggiunge alla fine
table.insert(queue, 1, "help") -- inserisce alla posizione 1, spostando gli altri elementi
local last = table.remove(queue) -- rimuove E restituisce l'ultimo elementotable.remove(t) estrae l'ultimo elemento e te lo restituisce; table.remove(t, 1) rimuove il primo e sposta tutto il resto verso il basso. Poiché l'array è tipizzato come {string}, Luau sa che il valore restituito è una stringa.
La lettura è altrettanto permissiva che in Lua semplice: un indice che non contiene nulla, queue[0], queue[-1] o qualsiasi indice oltre #queue, restituisce silenziosamente nil. Non viene generato alcun errore, quindi controlla che il valore sia nil prima di usarne uno di cui non sei sicuro che esista.
Un altro strumento da aggiungere al tuo arsenale: table.freeze(t) rende una tabella di sola lettura durante l'esecuzione: qualsiasi tentativo successivo di modificarla genera un errore. È la risposta di Luau per i dati costanti (configurazione, elenchi fissi di livelli) che non devono mai cambiare dopo la creazione.
Sfida
FacileCrea un array tipizzato queue: {string} inizializzato con "save" e "load". Poi:
- aggiungi
"<code>quit" contable.insert - inserisci
"<code>help" alla posizione 1 - rimuovi l'ultimo comando con
table.remove, memorizzando il valore restituito
Infine stampa, ciascuno su una riga:
- il comando rimosso
- quanti comandi restano
- il primo comando nella coda
queue[10]: uno slot che non contiene nulla
Provalo tu
-- Scrivi il codice qui
-- 1) dichiara queue: {string} con "save" e "load"
-- 2) aggiungi in fondo il testo esatto delle istruzioni, inserisci il testo esatto delle istruzioni nella posizione 1
-- 3) rimuovi l'ultimo comando, poi stampa i quattro valori
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Introduzione a Luau
1Per iniziare con Luau
Che cos'è Luau?Perché usare Luau?Il tuo primo codice LuauVerifica dei tipi e modalità di erroreRiepilogo: introduzione a Luau4Lavorare con le funzioni
Tipizzare i parametri e i valori restituitiTipizzare le funzioni anonimeFunzioni che non restituiscono nullaParametri opzionaliValori predefiniti dei parametriFunzioni variadicheDefinire i tipi di funzioneRiepilogo: funzioni tipizzate2Tipi fondamentali
Tipi di base: num, str, boolIl tipo 'any': una via di fugaIl tipo 'unknown'Nil e tipi opzionaliL'inferenza dei tipi in azioneAnnotazioni esplicite dei tipiRipasso: esercizi sui tipi fondamentali5Alias, unioni e intersezioni
Alias di tipo per i primitiviTipi unioneLavorare con i tipi unioneTipi letteraliTipi intersezioneCombinare gli alias di tipoRiepilogo: combinazioni avanzate di tipi3Tabelle tipizzate: array e mappe
Array tipizzatiAggiungere e leggere elementiChe cos'è un tipo Map?Dichiarare e accedere alle mappeIterare sulle tabelleTabelle con strutture misteArray tipizzati multidimensionalitable.unpack e argomenti variabiliRiepilogo: array e mappeEsercitati da solo: Compilatore Luau online