Arrays como tablas
Indexación basada en 1 en Lua
Arrays como tablas es una lección gratuita de Lua Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Lua Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Lua Academy incluye 4 lecciones en total.
Las tablas son las listas de Lua
Lua tiene un único tipo de contenedor: la tabla. Cuando almacena valores en orden, la tabla funciona como un arreglo o una lista.
Puede crear una tabla vacía con {} y rellenarla después, o enumerar los valores directamente dentro de las llaves.
local fruits = {"apple", "banana", "cherry"}
print(fruits)La indexación comienza en 1
Esta es la regla más importante: los arreglos de Lua tienen una indexación basada en 1. El primer elemento se encuentra en el índice 1, no en el 0.
Use corchetes para leer un elemento por su posición.
local fruits = {"apple", "banana", "cherry"}
print(fruits[1])
print(fruits[2])
print(fruits[3])El índice cero está vacío
Como la numeración comienza en 1, la posición 0 normalmente no contiene nada.
Leer un índice que nunca se ha establecido devuelve nil. Los principiantes que vienen de otros lenguajes suelen confundirse con esto.
local colors = {"red", "green", "blue"}
print(colors[0])
print(colors[1])Escribir un elemento
Asigne un valor a una posición mediante la sintaxis de corchetes para establecerlo o reemplazarlo.
Aquí sobrescribimos la segunda posición. El cambio se verá la próxima vez que leamos ese índice.
local scores = {10, 20, 30}
scores[2] = 99
print(scores[2])Construir una tabla paso a paso
Puede empezar con una tabla vacía y añadir elementos en índices consecutivos. Recuerde comenzar en 1 para mantener una secuencia ordenada.
Una secuencia no tiene huecos: los índices 1, 2 y 3 están todos ocupados.
local nums = {}
nums[1] = 5
nums[2] = 10
nums[3] = 15
print(nums[1], nums[2], nums[3])Tipos de valores combinados
Una tabla de Lua puede contener valores de distintos tipos en la misma secuencia: números, cadenas y valores booleanos.
Lua no obliga a que todos los elementos sean del mismo tipo, como ocurre en algunos lenguajes.
local mixed = {42, "hello", true}
print(mixed[1])
print(mixed[2])
print(mixed[3])Imprimir todos los elementos
Para mostrar todos los elementos, recorra los índices desde 1 hacia arriba con un bucle numérico for.
En una lección posterior conoceremos una forma más sencilla (ipairs), pero este bucle deja claro el intervalo basado en 1.
local pets = {"cat", "dog", "fish"}
for i = 1, 3 do
print(i, pets[i])
endTablas anidadas
Un elemento de una tabla puede ser a su vez otra tabla. Esto permite crear filas, cuadrículas o datos agrupados.
Encadene los corchetes para acceder al interior: grid[1][2] lee la fila 1 y la columna 2 (ambas basadas en 1).
local grid = {
{1, 2, 3},
{4, 5, 6}
}
print(grid[1][2])
print(grid[2][3])Primero y último por posición
El primer elemento siempre es list[1]. En una secuencia cuyo tamaño conoce, el último se encuentra en ese número.
Aquí, como hay tres elementos, el último se encuentra en el índice 3.
local week = {"Mon", "Tue", "Wed"}
print("first:", week[1])
print("last:", week[3])Cambiar valores en el sitio
Las tablas son mutables. Puede actualizar cualquier posición existente sin reconstruir toda la lista.
A continuación, aumentamos cada puntuación reasignando cada índice en un bucle.
local scores = {1, 2, 3}
for i = 1, 3 do
scores[i] = scores[i] + 10
end
print(scores[1], scores[2], scores[3])Tablas como registros y arreglos
El mismo tipo tabla también almacena claves con nombre, como person.name. Cuando las claves son los enteros 1, 2, 3..., lo llamamos secuencia o arreglo.
Esta lección se centra en el estilo de secuencia, con claves numéricas basadas en 1.
local list = {"a", "b"}
list[3] = "c"
print(list[1], list[2], list[3])Comprobación rápida
Ponga a prueba su comprensión de la indexación en Lua.
Repaso
Ha aprendido que Lua utiliza tablas como arreglos y que la indexación está basada en 1: el primer elemento se encuentra en [1].
Puede leer, escribir y anidar elementos de tablas, y una secuencia ordenada no tiene huecos. A continuación, añadirá y eliminará elementos dinámicamente.
Preguntas frecuentes
¿La lección «Arrays como tablas» es gratis?
Sí — el texto completo de «Arrays como tablas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Lua Academy, actualiza a CoddyKit PRO. El curso de Lua Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Arrays como tablas»?
Indexación basada en 1 en Lua Practicas Lua Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Lua Academy?
No se requiere experiencia previa. Lua Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Arrays como tablas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Lua Academy?
Sí. Cada lección de Lua Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Arrays como tablas
- Añadir y eliminar elementos
- Iterar con ipairs
- Longitud y ordenación