Dichiarare e accedere alle mappe
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 16 di 73.
Dichiarare una mappa tipizzata è come scrivere i costruttori di tabelle che hai sempre scritto: l’annotazione specifica i tipi delle chiavi e dei valori:
local stock: {[string]: number} = {apples = 12, bananas = 5}Lettura e scrittura usano l’indicizzazione che già conosci. Per le chiavi che sono identificatori validi, stock.apples e stock["apples"] raggiungono la stessa voce; la forma con 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 controllo dei tipi verifica ogni scrittura: stock["apples"] = "many" viene segnalato perché "many" non è un numero, e l’uso di 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 completamente e le letture successive restituiscono nil. Non esiste una funzione di eliminazione separata; questo è il modo standard di fare in Lua e il controllo dei tipi continua a funzionare su una mappa.
Sfida
FacileCrea una mappa tipizzata stock: {[string]: number} inizializzata con apples = 12 e bananas = 5. Poi:
- aggiungi una nuova voce
cherriescon il valore20 - aggiorna
bananasa8
Infine stampa, ognuno su una riga separata:
- la quantità di
applesin magazzino - la quantità di
bananasin magazzino - la quantità di
cherriesin magazzino - la quantità di
plumsin magazzino: una chiave che non hai mai impostato
Provalo tu
-- Scrivi il codice qui
-- 1) dichiara stock: {[string]: number} con apples = 12, bananas = 5
-- 2) aggiungi cherries = 20, aggiorna bananas a 8
-- 3) stampa apples, bananas, cherries, poi plums
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