Tabelle con forme miste
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 18 di 80.
Gli array contengono molti valori di un tipo; le mappe contengono un tipo di chiave e un tipo di valore. Ma le tabelle Lua che usi più spesso mescolano tipi diversi nei campi con nome: un giocatore con un nome stringa, un punteggio numerico e un flag booleano. Luau assegna i tipi a questi campi usando una forma: un tipo di tabella che elenca ogni campo e il relativo tipo.
type Point = {x: number, y: number}
local origin: Point = {x = 0, y = 0}
print(origin.x)La parola chiave type crea un alias di tipo: un nome riutilizzabile per la forma. Esiste solo per il controllo dei tipi: non viene creato alcun valore di runtime chiamato Point. Ogni campo può avere un tipo diverso:
type Player = {name: string, score: number, active: boolean}
local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)Una volta dichiarata la forma, il controllo dei tipi sa che player.score è un numero e segnala gli errori in anticipo: un refuso come player.scroe (campo inesistente) o l'assegnazione di player.score = "high" (tipo errato). Questa è solo un'introduzione: un capitolo successivo approfondisce molto di più le forme, i campi facoltativi e i metodi.
Sfida
FacileDescrivi un giocatore con un tipo forma.
- Scrivi
type Player = {name: string, score: number, active: boolean}. - Crea
local player: Player = {name = "Kai", score = 900, active = false}. - Stampa
player.active, poi`{player.name} has {player.score} points`.
Premi Run Code: l'output mostra false e Kai has 900 points.
Provalo tu
-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) stampa il flag active, poi la riga di riepilogo
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