Въведение в типовете в Lua

Lua е динамично типизиран език, което означава, че променливите нямат типове – само стойностите имат. В езика няма дефиниции на типове. Всички стойности носят собствения си тип.

В Lua има осем основни типа:

Тип Описание
nil представлява липсата на полезна стойност
boolean има две стойности - false и true
number представя реални числа (числа с плаваща запетая с двойна точност)
string представлява масиви от символи
function първокласна стойност, съдържаща код
userdata представя произволни C данни
thread представлява независими нишки на изпълнение
table представя обикновени масиви, таблици със символи, множества, записи, графи, дървета и други

Функцията type връща низ, описващ типа на дадена стойност:

print(type("Hello world"))  --> string
print(type(10.4))           --> number
print(type(true))           --> boolean
print(type(nil))            --> nil
print(type(type(10.4)))    --> string