robot de la enciclopedia para niños

Lua para niños

Enciclopedia para niños
Datos para niños
Lua
Lua-Logo.svg
Roberto Ierusalimschy
https://lua.org
Información general
Extensiones comunes .lua
Paradigma Multiparadigma:
interpretado,
imperativo
(procedural,
basado en prototipos,
orientado a objetos),
funcional
Apareció en 1993
Diseñado por Roberto Ierusalimschy
Waldemar Celes
Luiz Henrique de Figueiredo
Última versión estable 5.4.8 (4 de junio de 2025 (1 mes y 1 día))
Sistema de tipos dinámico, fuerte, duck
Implementaciones Lua, LuaJIT, LLVM-Lua, LuaCLR, Nua, Lua Alchemy, Luvit
Dialectos Metalua, Luau
Influido por Scheme, SNOBOL, Modula, CLU, C++
Ha influido a Io, GameMonkey, Squirrel, Falcon, Dao, MiniD
Sistema operativo Multiplataforma
Licencia MIT License

Lua es un lenguaje de programación muy especial. Es como un conjunto de instrucciones que le das a una computadora para que haga algo. Lua es conocido por ser muy ligero y fácil de usar, lo que lo hace perfecto para añadir funciones a otros programas. Imagina que es un "cerebro" extra que puedes poner dentro de tus aplicaciones.

El nombre "Lua" significa "luna" en portugués. Este lenguaje es multiplataforma, lo que significa que funciona en muchos tipos de computadoras y sistemas operativos. Su "intérprete" (el programa que entiende y ejecuta las instrucciones de Lua) está escrito en un lenguaje llamado ANSI C.

¿Qué es Lua y para qué sirve?

Lua es un lenguaje de programación multiparadigma. Esto significa que puedes usarlo de diferentes maneras para resolver problemas. Es un lenguaje interpretado, lo que quiere decir que sus instrucciones se ejecutan directamente sin necesidad de un paso extra de "traducción" antes.

Historia de Lua: ¿Cuándo y quién lo creó?

Lua fue creado en 1993 por un equipo de tres personas: Roberto Ierusalimschy, Luis Enrique de Figueiredo y Waldemar Celes. Ellos eran parte de un grupo de tecnología en la Pontificia Universidad Católica de Río de Janeiro, en Brasil. Se inspiraron en otros lenguajes como C y Perl.

Desde la versión 5.0, Lua se distribuye bajo la MIT License, que es una licencia de software libre. Esto significa que es gratis de usar y modificar. Lua se ha vuelto muy popular y se usa en muchas aplicaciones, tanto comerciales como gratuitas.

Características principales de Lua

Lua es un lenguaje muy compacto, lo que le permite funcionar en diferentes dispositivos. En Lua, las "variables" (espacios donde guardas información) no tienen un tipo fijo. Los "datos" sí tienen tipos, como números, texto o valores lógicos (verdadero/falso).

Una característica única de Lua es que solo tiene una estructura de datos principal llamada "tabla". Con las tablas, puedes crear cosas como listas, conjuntos o registros, que son formas de organizar la información.

Lua es un lenguaje muy flexible. Puedes cambiar y extender cómo funciona usando algo llamado "metatablas". Esto permite, por ejemplo, que los objetos "hereden" características de otros, como si fueran familias de programas. También tiene un "recolector de basura" que ayuda a mantener la memoria de la computadora limpia.

¿Cómo funciona Lua por dentro?

Cuando escribes un programa en Lua, no se ejecuta directamente. Primero, se "compila" a un código especial llamado "bytecode". Este bytecode es luego ejecutado por la "máquina virtual" de Lua. Piensa en la máquina virtual como un programa que entiende el bytecode y lo convierte en acciones para la computadora.

Este proceso de compilación suele ser automático y rápido. También existe una versión llamada LuaJIT que puede hacer que los programas Lua sean aún más rápidos.

Ejemplos de código en Lua

Aquí te mostramos cómo se ve el código en Lua.

El famoso programa "Hola mundo" se escribe así:

print("Hola mundo!")

También puedes escribirlo de esta forma:

io.write('Hello World!\n')

Los "comentarios" (notas que no son parte del programa) se escriben así:

-- Un comentario en Lua empieza con doble guion hasta la siguiente línea
--[[ Los strings y comentarios multilínea
     se adornan con doble corchete]]

Una función que calcula el "factorial" (un número multiplicado por todos los números enteros positivos menores que él) se ve así:

function factorial(n)
   if n == 0 then
      return 1 end
   return n * factorial(n - 1)
end

Tipos de bucles en Lua

Lua tiene diferentes tipos de "bucles", que son instrucciones para repetir una acción varias veces.

El bucle while (mientras):

while (condición) do
   -- Bloque de código que se repite
end

El bucle for numérico:

local inicio, fin, paso = 10, 1, -1 -- El paso puede ser negativo
for índice = inicio, fin, paso do
   print(índice)
end

El bucle for genérico:

for clave, valor in pairs(_G) do
   print(clave)
end

El bucle repeat (repetir):

local condición = false
repeat
   -- Bloque de código que se repite
until condición

Este bucle se ejecuta al menos una vez y se repite hasta que la "condición" sea verdadera.

¿Dónde se usa Lua?

Lua está diseñado para ser parte de otras aplicaciones. Por eso, es muy común que se use para crear "complementos" o "modificaciones" en programas. Por ejemplo, programas como ZeroBrane Studio o REAPER usan Lua para que los usuarios puedan añadir nuevas funciones.

También se usa para procesar datos, configurar aplicaciones, controlar dispositivos electrónicos y muchas otras tareas.

  • En el gestor de ventanas Ion, puedes usar Lua para cambiar su apariencia.
  • El gestor de ventanas awesome usa Lua para su configuración.

Lua ayuda a las empresas a ahorrar dinero porque es fácil de usar y de adaptar. Si una aplicación hecha con Lua necesita funcionar en un sistema operativo diferente, solo se necesitan hacer pequeños cambios.

Lua también es muy popular para crear programas caseros ("homebrews") para consolas como la PSP de Sony, porque es sencillo de aprender.

Portabilidad de Lua

Gracias a su diseño simple, Lua funciona en muchos tipos de procesadores. Hay versiones de Lua para consolas como la PSP, Wii y SEGA Saturn.

Lua en los videojuegos

Lua es muy popular en el mundo de los videojuegos. Es ligero, rápido y su licencia permite que los desarrolladores lo usen libremente.

  • El motor gráfico CryEngine (usado en juegos como Crysis) usa Lua junto con C++.
  • LÖVE2D es un motor de videojuegos que permite crear juegos multiplataforma usando Lua.
  • Empresas como Valve, Electronic Arts y Bethesda han usado Lua en sus juegos.

Otros videojuegos y motores de juego que usan Lua incluyen:

  • World of Warcraft: Los jugadores pueden personalizar la interfaz del juego.
  • Garry's Mod: Gran parte de este juego está escrito en Lua, permitiendo muchas modificaciones.
  • Supreme Commander: Un juego de estrategia que se puede modificar mucho con Lua.
  • Tibia: Se usa para modificar poderes y mapas.
  • Grim Fandango y La Fuga de Monkey Island: Usan Lua para la historia y los eventos del juego.
  • Worms 4: Mayhem: Usa Lua para las misiones y desafíos.
  • Ragnarok Online: Usa Lua para la inteligencia artificial de los personajes.
  • Regnum Online y TASpring: Usan Lua para la interfaz y el modo de juego.
  • Multi Theft Auto: San Andreas: Permite crear modos de juego y mapas.
  • Blitzkrieg: Se usa en los editores de mapas.
  • Counter-Strike 2D: Permite crear modos de juego nuevos con scripts Lua.
  • StepMania: Usa Lua para animaciones y comandos del juego.
  • Wolfenstein: Enemy Territory: Algunos modos usan Lua para scripts y mini-modos.
  • Hedgewars: Usa Lua en scripts, misiones y mapas.
  • Transformice: Usa Lua para minijuegos y XML para mapas.
  • Railworks: Train Simulator: Se usa para modificar objetos.
  • YGOPro: Dueling System: Usa Lua para efectos de cartas e inteligencia artificial.
  • The Binding of Isaac: Rebirth: Permite crear "mods" con Lua.
  • Factorio: Usa Lua para el juego base y para implementar "mods".
  • Roblox: Usa una versión modificada de Lua llamada Luau.
  • Detroit Become Human
  • Sonic Robo Blast 2
  • Minetest: Permite crear "mods" o juegos completos.
  • FiveM: Permite crear modificaciones para Grand Theft Auto 5.
  • Teardown: Usa Lua para muchas funciones y "mods".
  • Friday Night Funkin': Usa Lua para crear "mods" y cambiar el juego.

Lua en servidores de Tibia

Lua se usa mucho en el juego de rol Tibia, especialmente en los servidores creados por los jugadores. La gente usa Lua para hacer sistemas, scripts y "mods" que mejoran la experiencia de juego. Esto es muy útil para quienes quieren crear su propio servidor de Tibia.

Véase también

Kids robot.svg En inglés: Lua Facts for Kids

  • X10
kids search engine
Lua para Niños. Enciclopedia Kiddle.