Aggiungere e leggere elementi
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 14 di 80.
Fai già crescere e ridurre 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 tutti gli altri in avanti. Poiché l'array è tipizzato come {string}, Luau sa che il valore restituito è una stringa.
La lettura è altrettanto permissiva che in Lua semplice: un indice senza valore, 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.
Sfida
FacileFai crescere e riduci una lista tipizzata di mosse.
- Dichiara
local moves: {string} = {"jump", "run"}. - Aggiungi
"duck"contable.insert, quindi inserisci"crawl"alla posizione 1. - Memorizza
table.remove(moves)inlocal removed, quindi stamparemoved,#moves,moves[1]emoves[10].
Premi Esegui codice: l'output mostra duck, 3, crawl e nil.
Provalo tu
-- 1) dichiara moves: {string} con "jump" e "run"
-- 2) aggiungi "duck" alla fine, inserisci "crawl" alla posizione 1
-- 3) rimuovi l'ultima mossa, poi stampa i quattro valori
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 parametri e valori restituitiTipizzare le funzioni anonimeFunzioni che non restituiscono nullaParametri opzionaliValori predefiniti dei parametriValori predefiniti per i booleaniFunzioni variadicheDefinire i tipi di funzioneRiepilogo: funzioni tipizzate7Progetto: Gestore di attività tipizzato
Progetto: La struttura di un'attivitàFunzione per aggiungere un'attività2Tipi fondamentali
Numero, stringa e booleanoIl tipo 'any': una via di fugaIl tipo 'unknown'Tipi nil e opzionaliL’inferenza dei tipi in praticaAnnotazioni 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 forme misteLeggere una grigliaCreare una grigliatable.unpackRiepilogo: array e mappeEsercitati da solo: Compilatore Luau online