¿Lua? ¿WTF?
Lua es un lenguaje muy simple, dinámicamente tipado e interpretado. Por eso, no tiene tipos explícitos (como el "int" o "char" de C++), y no se compila, sino se ejecuta.
Viene genial para hacer juegos simples con Love2d, scripting en juegos complejos como Garry's Mod o LoL, servicios web (OpenResty), e incluso deep learning o simular redes neuronales. En fin, tiene potencial ;)
Dicho esto, empecemos con el lenguaje. Espero que disfrutes y aprendas.
Lo básico de los básicos
Variables, tipos y comentarios
Lua, como todos los lenguajes tiene variables, o cosas a las que asociamos valores con un "=". Estos valores pueden ser de 8 tipos:
- number o números,
- strings o cadenas de caracteres,
- function o funciones, que son bloques de código que manipulan a las variables,
- boolean o variables lógicas true o false (verdadero o falso),
- nil o variable nula, parecida al null de JavaScript o Java,
- table, que equivale a arrays (o listas de variables) y maps, o listas de pares de llave: valor,
- thread o hilo del programa, que es una línea de ejecución independiente del código,
- userdata o la posición de un objeto en la memoria
También podemos comentar código en Lua, para explicar que hace a otros o a nosotros mismos :) con un "--comentario" si el comentario tiene una línea o "--[[comentario]]--" si tiene varias líneas.
No te preocupes si estas cosas te suenan como a chino, ahora verás unos ejemplos.
--esto es un comentario :)
-- declaración de variables:
numero = 43
string = "soy una string"
-- explicaremos las funciones y tablas más adelante
mifuncion = function() return 1 end
unaTabla = {}
Volviéndonos posesivos
Estructuras de control: if, while y for