{}const=>[]async()letfn</>var
LuaDesarrollo

Primer código en Lua: una guía para aquellos que quieren empezar a programar y no volverse locos

Entendiendo el lenguaje Lua desde cero: desde la instalación hasta un minijuego en 10 minutos. Sin teoría aburrida, con ejemplos de código y una presentación divertida. Descubre por qué Lua es uno de los lenguajes más amigables para empezar a programar, dónde se utiliza y cómo escribir tu primer proyecto.

К

Kodik

Autor

6 min de lectura

Cuando abriste Lua y pensaste: «Espera, ¿dónde están las llaves?»

Hay idiomas que te hacen querer cerrar el portátil e ir a pastar vacas al pueblo. Y está Lua, un lenguaje que te recibe como un viejo amigo: sin ceremonias innecesarias, sin estructuras de cinco pisos y sin la sensación de que accidentalmente abriste la tesis de alguien más sobre física cuántica.

Si alguna vez has jugado a World of Warcraft, Roblox o un mod de Garry's Mod, enhorabuena, ya has usado Lua indirectamente. Este lenguaje está literalmente en todas partes donde necesitas escribir algo rápidamente, sin desplegar una estación espacial de dependencias.

Paso 0: Instalación (el spoiler es rápido)

Lua es uno de los lenguajes más fáciles de instalar. Sin gigabytes de SDK, sin «por favor, actualiza tu versión de Java a 847.3».

En Linux/macOS:

# Ubuntu/Debian
sudo apt install lua5.4

# macOS (a través de Homebrew)
brew install lua

En Windows:

Descargar LuaBinaries desde sitio web oficial o ponlo a través de scoop:

scoop install lua

Comprobamos que todo funciona:

lua -v

Si recibes algo como Lua 5.4.7 como respuesta, estás en el negocio. Si no es así, bueno, lo de siempre, comprueba el PATH.

🔥 100.000+ estudiantes ya están con nosotros

¿Cansado de leer teoría?
¡Hora de programar!

Kodik — una app donde aprendes a programar con práctica. Mentor IA, lecciones interactivas, proyectos reales.

🤖 IA 24/7
🎓 Certificados
💰 Gratis
🚀 Empezar
Se unieron hoy

Paso 1: ¡Hola, mundo! (ritual de iniciación)

Crea el archivo hello.lua y escribe:

print("Hello, World!")

Iniciar:

lua hello.lua

Todo. Una. Una única llamada. Sin public static void main, sin import, sin #include <iostream>. Lua respeta tu tiempo.

Para comparar, aquí está lo mismo en Java:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Lua lo ve como:

«Hermano, ¿por qué tantas letras? print() y sigamos adelante».

Paso 2: Variables: solo tienes que escribir y ya está

En Lua no es necesario declarar el tipo de variable. No hay int, string, float. Lua lo resolverá por sí mismo:

name = "Alexey"
age = 25
is_developer = true

print(name)          -- Алексей
print(type(age))     -- number
print(type(name))    -- string

Las variables locales se declaran a través de local y esto se considera de buen gusto:

local score = 100
local player = "Hero"

¿Por qué local? Porque sin él, la variable se vuelve global, y las variables globales en un proyecto grande son como dejar las llaves del apartamento debajo de la alfombra. Parece cómodo, pero luego te sorprenderás.

Paso 3: Condiciones — if, elseif, else, end

local hp = 30

if hp > 50 then
    print("Everything is fine, we continue to fight")
elseif hp > 0 then
    print("Be careful, HP is running out!")
else
    print("Game Over. Respawn in 5 seconds")
end

Presta atención: en lugar de { y }then y end. Al principio es inusual, pero luego te darás cuenta de que incluso se lee más limpio. Lua ama las palabras, no los símbolos.

Otro punto: en Lua no hay !=. En su lugar, se utiliza ~=:

if name ~= "Admin" then
    print("Access denied")
end

Sí, tilde. Solo acéptalo.

Paso 4: Ciclos: girar y girar

while:

local i = 1
while i <= 5 do
    print("Iteration: " .. i)
    i = i + 1
end

Por cierto, .. es una concatenación de cadenas en Lua. No +, no concat(), sino simplemente dos puntos.

for:

for i = 1, 5 do
    print("Step " .. i)
end
CODE_BLOCK_12__

for-in (para recorrer tablas):

local fruits = {"apple", "banana", "mango"}

for index, fruit in ipairs(fruits) do
    print(index .. ". " .. fruit)
end

Paso 5: Funciones: escribimos nuestros comandos

local function greet(name)
    return "Hi, " .. name .. "! Welcome to Lua"
end

print(greet("Maria"))

Las funciones en Lua son ciudadanos de primera clase. Se pueden almacenar en variables, pasar como argumentos, devolver desde otras funciones. En general, la programación funcional no es solo palabras:

local function apply(func, value)
    return func(value)
end

local function double(x)
    return x * 2
end

print(apply(double, 21))  -- 42

42 es la respuesta a todo. ¿Coincidencia? No lo creo.

Paso 6: Tablas: el corazón de Lua

Aquí es donde comienza la magia. En Lua no hay matrices, no hay objetos, no hay diccionarios. Pero hay tablas — una estructura de datos universal que lo reemplaza todo:

-- Как массив
local colors = {"Red", "Green", "Blue"}
print(colors[1])  -- красный (индексация с 1!)

-- Как словарь
local player = {
    name = "Warrior",
    hp = 100,
    level = 5
}
print(player.name)   -- Warrior
print(player["hp"])  -- 100

-- Как объект с методами
function player:takeDamage(damage)
    self.hp = self.hp - damage
    print(self.name .. " received " .. damage .. " damage. HP: " .. self.hp)
end

player:takeDamage(25)  -- Warrior получил 25 урона. HP: 75

Un punto importante: la indexación en Lua comienza con 1, no con 0. Sí, este es el detalle que te causará una crisis existencial si estás acostumbrado a JavaScript o Python. Pero te acostumbrarás.

Paso 7: Miniproyecto: misión de texto

Es hora de poner todo junto. Aquí tienes un pequeño juego de texto:

local function game()
    print("=============================")
    print("  CODE DUNGEON")
    print("=============================")
    print("")
    print("You are standing in front of the entrance to a dark cave.")
    print("A strange noise is heard inside...")
    print("")
    print("What are you doing?")
    print("1 - Enter the cave")
    print("2 - You go home to drink tea")
    print("")

    io.write("Your choice: ")
    local choice = io.read()

    if choice == "1" then
        print("")
        print("You enter and find... an ancient laptop!")
        print("A file with Lua code is open on the screen.")
        print("You start reading... and you become a programmer!")
        print("")
        print("🏆 VICTORY! +100 to programming skill")
    elseif choice == "2" then
        print("")
        print("A wise choice. Tea is also important.")
        print("But the cave will be waiting for you...")
        print("")
        print("☕ END. But you can always come back!")
    else
        print("")
        print("Unknown command. The cave is confused.")
        print("Try again!")
    end
end

game()

Guarda esto en quest.lua, ejecuta lua quest.lua y felicidades, acabas de escribir tu primer juego en Lua.

¿Qué sigue?

Lua es un lenguaje que te abrirá las puertas al desarrollo de juegos (Love2D, Defold, Roblox), al desarrollo integrado, a la escritura de complementos y scripts para aplicaciones existentes. Es ligero, rápido y sorprendentemente potente.

Aquí hay algunas direcciones en las que puedes moverte:

  • Roblox Studio — si quieres hacer juegos y ganar dinero con ello

  • Love2D — motor 2D minimalista para juegos independientes

  • Neovim — la configuración y los complementos se escriben en Lua

  • OpenResty/Nginx — Lua para servidores web de alta carga

  • Embedded/IoT — Lua funciona muy bien en microcontroladores (NodeMCU, ESP8266)

Si te gusta este formato y quieres seguir adelante, echa un vistazo a Kodik. Esta es una aplicación donde puedes aprender programación desde cero: desde Python y JavaScript hasta HTML, CSS y otras tecnologías. No hay 200 páginas de teoría árida, solo lecciones claras con práctica, después de las cuales realmente entiendes lo que escribiste y por qué.

Kodik creado especialmente para aquellos que quieren aprender a su propio ritmo, desde su teléfono u ordenador, sin ataduras a horarios y cursos largos.

Y también tenemos Canal de Telegram con una comunidad de más de 2000 desarrolladores, donde se publican regularmente publicaciones útiles sobre programación, análisis de tareas y noticias del mundo del desarrollo. Es una forma excelente de repasar el material y mantenerse al día, incluso mientras haces cola para tomar un café.

Total

Lua es un caso excepcional en el que un lenguaje de programación no intenta intimidarte. Es minimalista, lógico y te permite escribir código de trabajo literalmente desde los primeros minutos de conocimiento. Si siempre has querido probar algo nuevo o estás buscando una forma fácil de empezar a programar, Lua es una excelente opción.

🎯Deja de postergar

¿Te gustó el artículo?
¡Hora de practicar!

En Kodik no solo lees — escribes código de inmediato. Teoría + práctica = habilidades reales.

Práctica instantánea
🧠IA explica código
🏆Certificado

Sin registro • Sin tarjeta