Lua Creare tabelle


Esempio

La creazione di una tabella vuota è semplice come questa:

local empty_table = {}

Puoi anche creare una tabella sotto forma di un semplice array:

local numeric_table = {
    "Eve", "Jim", "Peter"
}
-- numeric_table[1] is automatically "Eve", numeric_table[2] is "Jim", etc.

Tieni presente che, per impostazione predefinita, l'indicizzazione della tabella inizia da 1.

È anche possibile creare una tabella con elementi associativi:

local conf_table = {
    hostname = "localhost",
    port     = 22,
    flags    = "-Wall -Wextra"
    clients  = {                -- nested table
        "Eve", "Jim", "Peter"
    }
}

L'uso sopra è lo zucchero di sintassi per ciò che è sotto. Le chiavi in ​​questa istanza sono del tipo, stringa. La sintassi precedente è stata aggiunta per far apparire le tabelle come record. Questa sintassi in stile record è parallela alla sintassi per l'indicizzazione delle tabelle con le chiavi stringa, come mostrato nell'esercitazione sull'uso di base.

Come spiegato nella sezione commenti, la sintassi stile record non funziona per ogni chiave possibile. Inoltre una chiave può essere qualsiasi valore di qualsiasi tipo, e gli esempi precedenti riguardavano solo stringhe e numeri sequenziali. In altri casi dovrai utilizzare la sintassi esplicita:

local unique_key = {}
local ops_table = {
    [unique_key] = "I'm unique!"
    ["^"]  = "power",
    [true] = true
}