History: Básicos de Lua

Revision made 7 years ago by Jakub Janarek. Go to the last revision.

¿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