Tabelle con strutture miste
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 18 di 73.
Gli array contengono molti valori di un tipo; le mappe contengono un tipo di chiave e un tipo di valore. Ma le tabelle Lua più comuni combinano tipi diversi in campi denominati: un giocatore con un nome stringa, un punteggio numerico e un flag booleano. Luau assegna loro un profilo: un tipo di tabella che elenca ogni campo e il suo 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 il profilo. Esiste solo per il verificatore: 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 dichiarato il profilo, il verificatore sa che player.score è un numero e segnala gli errori in anticipo: un refuso come player.scroe (campo inesistente) oppure l'assegnazione di player.score = "high" (tipo errato). Questo è solo un assaggio: un capitolo successivo approfondirà molto di più i profili, i campi opzionali e i metodi.
Sfida
FacileDefinisci un alias di tipo Player per una struttura con tre campi: name: string, score: number e active: boolean.
Crea local player: Player con il nome "Rio", il punteggio 1500 e active impostato su true.
Stampa, ciascuno su una riga distinta:
- il nome del giocatore
- il punteggio del giocatore
- il flag active del giocatore
- la riga esatta
Rio has 1500 pointscreata con l'interpolazione di stringhe dai campi
Provalo tu
-- Scrivi il codice qui
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) crea player: Player = {name = "Rio", score = 1500, active = true}
-- 3) stampa name, score, active, poi la riga di riepilogo interpolata
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