Dichiarare e accedere alle mappe
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 16 di 80.
Dichiarare una mappa tipizzata è simile ai costruttori di tabelle che hai sempre scritto: l’annotazione specifica semplicemente i tipi delle chiavi e dei valori:
local stock: {[string]: number} = {apples = 12, bananas = 5}Per leggere e scrivere si usa l’indicizzazione che già conosci. Per le chiavi che sono identificatori validi, stock.apples e stock["apples"] accedono alla stessa voce; la notazione con le parentesi quadre gestisce anche le chiavi con spazi o quelle memorizzate in variabili:
stock["cherries"] = 20 -- aggiungi una nuova voce
stock.bananas = 8 -- aggiorna una voce esistente
print(stock["apples"]) -- 12
print(stock["plums"]) -- nil: mai impostatoIl verificatore dei tipi controlla ogni assegnazione: stock["apples"] = "many" viene segnalata perché "many" non è un numero, e usare un numero come chiave viene segnalato perché le chiavi devono essere stringhe.
Per eliminare una voce, assegna nil alla sua chiave: stock["bananas"] = nil la rimuove del tutto e le letture successive restituiscono nil. Non esiste una funzione separata per l’eliminazione: è la convenzione standard di Lua e continua a essere verificata correttamente dal controllo dei tipi su una mappa.
Sfida
FacileMantieni una mappa tipizzata del materiale scolastico.
- Dichiara
local stock: {[string]: number} = {pens = 40, rulers = 15}. - Aggiungi
stock["erasers"] = 25e cambiarulersin10. - Stampa le quantità di
pens,rulers,eraserseglue, una per riga.
Premi Esegui codice: l'output mostra 40, 10, 25 e nil.
Provalo tu
-- 1) dichiara stock: {[string]: number} con pens = 40, rulers = 15
-- 2) aggiungi erasers = 25, cambia rulers a 10
-- 3) stampa pens, rulers, erasers, poi glue
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