Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Descrivi un giocatore con un tipo forma.

  1. Scrivi type Player = {name: string, score: number, active: boolean}.
  2. Crea local player: Player = {name = "Kai", score = 900, active = false}.
  3. 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

Esercitati da solo: Compilatore Luau online