Sintaxa de Bază, Variabile Locale și Tipuri Primitive în Lua în Lua

Ghid complet pentru sintaxa Lua 5.4: cele 8 tipuri primitive, declararea variabilelor locale cu local, reguli de vizibilitate și operatorul de lungime #.

Sintaxă
local x = 10; local s = "Lua 5.4"; type(x)

Lua este un limbaj tipizat dinamic, ceea ce înseamnă că variabilele nu au tipuri fixe, ci valorile stocate în ele poartă tipul. Lua dispune de exact 8 tipuri de date de bază: nil, boolean, number (întregi pe 64 de biți și numere în virgulă mobilă conform IEEE 754), string, table, function, thread (corutine) și userdata (date C native).

Declararea variabilelor și inspectarea tipurilor de date
-- În Lua, variabilele sunt GLOBALE în mod implicit!
-- REGULĂ DE AUR: Folosiți întotdeauna cuvântul-cheie 'local':

local numeUtilizator = "Mihai"          -- string
local scor = 4500                        -- number (integer)
local coeficient = 1.25                  -- number (float)
local esteAutentificat = true            -- boolean
local sesiuneExpirata = nil              -- nil (reprezintă absența valorii)

-- Inspectarea tipului unei variabile prin funcția type():
print("Tipul variabilei scor:", type(scor))               -- afișează: number
print("Tipul variabilei sesiune:", type(sesiuneExpirata)) -- afișează: nil

-- Operatorul de lungime '#' pe șiruri de caractere:
local lungimeNume = #numeUtilizator
print("Lungimea numelui este de " .. lungimeNume .. " litere.")

-- Concatenarea șirurilor se realizează prin operatorul '..' :
local salut = "Bun venit, " .. numeUtilizator .. "! Scorul tău este: " .. scor
print(salut)
Tip de date Descriere și exemple Echivalent logic boolean
nil Absența valorii sau variabilă ștearsă/neinițializată. Evaluează întotdeauna ca fals (false).
boolean Valorile literale true și false. Exact valoarea lor.
number Numere întregi pe 64 de biți și reale (ex: 42, 3.1415). Adevărat (inclusiv numărul 0 este adevărat în Lua!).
string Secvențe imutabile de octeți (ex: "salut"). Adevărat (inclusiv șirul vid "" este adevărat!).