Lua Creando tablas


Ejemplo

Crear una tabla vacía es tan simple como esto:

local empty_table = {}

También puede crear una tabla en forma de una matriz simple:

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

Tenga en cuenta que, de forma predeterminada, la indexación de tablas comienza en 1.

También es posible crear una tabla con elementos asociativos:

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

El uso anterior es sintaxis de azúcar para lo que está debajo. Las claves en este caso son del tipo cadena. La sintaxis anterior se agregó para que las tablas aparezcan como registros. Esta sintaxis de estilo de registro es paralela a la sintaxis para indexar tablas con claves de cadena, como se ve en el tutorial de "uso básico".

Como se explica en la sección de comentarios, la sintaxis de estilo de grabación no funciona para todas las claves posibles. Además, una clave puede ser cualquier valor de cualquier tipo, y los ejemplos anteriores solo cubrían cadenas y números secuenciales. En otros casos necesitarás usar la sintaxis explícita:

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