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
- Los literales anidan: las salas guardan arreglos de botín.
dungeon[2].loot[2]encadena corchetes y puntos.t[#t + 1] = xes el append idiomático.
Palabras clave y builtins usados aquí
doendforinipairslocalprint
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.
Paso 4 de 4 en Tablas; paso 10 de 27 en Fundamentos del lenguaje.