Menu
CoddyTech

Annotazioni inline delle forme

Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 39 di 80.

In Lua hai usato a lungo le tabelle come record: local user = {name = "Ana", age = 20}. Nulla ti impedisce di scrivere male il nome di un campo, dimenticarne uno o memorizzare una stringa dove dovrebbe esserci un numero. Te ne accorgi solo quando il codice viene eseguito.

Luau ti permette di descrivere la struttura di una tabella direttamente nella dichiarazione, elencando ogni campo e il relativo tipo tra parentesi graffe:

local user: {name: string, age: number} = {
    name = "Ana",
    age = 20,
}

Confronta questo con i tipi di tabella che già conosci: {number} descrive un array e {[string]: number} descrive una mappa con chiavi di qualsiasi stringa. Una struttura è più precisa. Nomina ogni campo individualmente e assegna a ciascuno il proprio tipo.

Una volta dichiarata la struttura, il controllo dei tipi verifica la tabella mentre la modifichi. Un campo mancante o un valore del tipo sbagliato viene segnalato prima ancora che il codice venga eseguito:

local user: {name: string, age: number} = {
    name = "Ana",
    age = "twenty", -- ✗ errore di tipo: string non è un numero
}

Come sempre, l'annotazione non aggiunge alcun comportamento in fase di esecuzione: la tabella è una normale tabella Lua. Le strutture inline sono perfette per le strutture occasionali che non hai intenzione di riutilizzare; nella prossima lezione darai un nome alle strutture.

challenge icon

Sfida

Facile

Descrivi un record studente direttamente nella sua dichiarazione.

  1. Dichiara local student: {name: string, studentId: number} = {name = "Sarah Johnson", studentId = 12345}.
  2. Stampa student.name, poi student.studentId.

Premi Esegui codice: l'output mostra Sarah Johnson e 12345.

Provalo tu

-- 1) dichiara student con un'annotazione inline della struttura
-- 2) stampa il suo nome, poi il suo studentId

Tutte le lezioni di Introduzione a Luau

Esercitati da solo: Compilatore Luau online