Lua - Tipos de datos
Lua es un lenguaje escrito dinámicamente, por lo que las variables no tienen tipos, solo los valores tienen tipos. Los valores pueden almacenarse en variables, pasarse como parámetros y devolverse como resultados.
En Lua, aunque no tenemos tipos de datos variables, tenemos tipos para los valores. La lista de tipos de datos para valores se proporciona a continuación.
No Señor | Tipo de valor y descripción |
---|---|
1 | nil Se utiliza para diferenciar el valor de tener algunos datos o no tener datos (nulos). |
2 | boolean Incluye verdadero y falso como valores. Generalmente se utiliza para comprobar el estado. |
3 | number Representa números reales (punto flotante de doble precisión). |
4 | string Representa una matriz de caracteres. |
5 | function Representa un método que está escrito en C o Lua. |
6 | userdata Representa datos C arbitrarios. |
7 | thread Representa hilos de ejecución independientes y se utiliza para implementar corrutinas. |
8 | table Representa matrices ordinarias, tablas de símbolos, conjuntos, registros, gráficos, árboles, etc., e implementa matrices asociativas. Puede contener cualquier valor (excepto nulo). |
Función de tipo
En Lua, existe una función llamada 'tipo' que nos permite conocer el tipo de variable. En el siguiente código se dan algunos ejemplos.
print(type("What is my type")) --> string
t = 10
print(type(5.8*t)) --> number
print(type(true)) --> boolean
print(type(print)) --> function
print(type(nil)) --> nil
print(type(type(ABC))) --> string
Cuando compila y ejecuta el programa anterior, produce el siguiente resultado en Linux:
string
number
boolean
function
nil
string
De forma predeterminada, todas las variables apuntarán a cero hasta que se les asigne un valor o se inicialicen. En Lua, las cadenas de cero y vacías se consideran verdaderas en caso de verificaciones de condición. Por lo tanto, debe tener cuidado al usar operaciones booleanas. Sabremos más sobre el uso de estos tipos en los próximos capítulos.