typestar

Tablas anidadas en Lua

Un calabozo es una tabla de tablas de sala; el acceso encadena.

-- Tables nest freely: a dungeon is a table of room tables.
local dungeon = {
  { name = "cellar", danger = 1, loot = { "rope" } },
  { name = "crypt", danger = 4, loot = { "idol", "coins" } },
}

for _, room in ipairs(dungeon) do
  print(string.format("%s (danger %d): %d item(s)",
    room.name, room.danger, #room.loot))
end

-- Deep access chains dots and brackets.
print("Crypt's second find: " .. dungeon[2].loot[2])
dungeon[1].loot[#dungeon[1].loot + 1] = "chalk"
print("Cellar now holds: " ..
  table.concat(dungeon[1].loot, ", "))

Cómo funciona

  1. Los literales anidan: las salas guardan arreglos de botín.
  2. dungeon[2].loot[2] encadena corchetes y puntos.
  3. t[#t + 1] = x es el append idiomático.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
527
Tokens
132
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 122 segundos.

Escribe este fragmento

Paso 4 de 4 en Tablas; paso 10 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →