Array tipizzati
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 13 di 80.
Gli array tipizzati sono una delle funzionalità più utili di Luau per organizzare più valori mantenendo la sicurezza dei tipi.
In Lua, un array è semplicemente una tabella con valori nelle posizioni 1, 2, 3, …, e può contenere tranquillamente un numero, una stringa e un booleano tutti insieme. Luau ti permette di dichiarare che una tabella deve contenere elementi di un solo tipo, usando la sintassi {Type}:
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Quando dichiari un array tipizzato, il controllo dei tipi di Luau fa sì che vi vengano inseriti solo valori del tipo dichiarato. Inserisci una stringa in un array {number} e riceverai un errore di tipo mentre modifichi il codice, prima ancora che venga eseguito:
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ errore di tipo: string non è un numeroTutto ciò che sai già sulle tabelle Lua continua a valere: gli array sono indicizzati a partire da 1 (scores[1] è il primo elemento), #scores è la lunghezza e table.insert / table.remove funzionano come al solito. L'annotazione aggiunge sicurezza, non un nuovo comportamento in fase di esecuzione.
Sfida
FacileMemorizza punteggi e nomi in array tipizzati.
- Dichiara
local scores: {number} = {85, 92, 78}. - Dichiara
local studentNames: {string} = {"Alice", "Bob", "Charlie"}. - Stampa
scores[1],#scoresestudentNames[2], uno per riga.
Premi Esegui codice: l'output mostra 85, 3 e Bob.
Provalo tu
-- 1) dichiara scores: {number} e studentNames: {string}
-- 2) stampa il primo punteggio, il numero di punteggi e il secondo nome
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