Sistemul de Module în Lua: require, package.path și Încărcare Modulară în Lua

Ghid complet pentru module în Lua: organizarea codului pe fișiere, funcția require(), izolarea variabilelor locale și configurarea căilor de căutare package.path.

Sintaxă
local modul = require("nume_modul"); return M

În Lua modern (Lua 5.2+ și 5.4), un modul este pur și simplu un fișier de cod care returnează o tabelă conținând funcțiile și constantele publice. Funcția require() încarcă modulul, rulează codul o singură dată și salvează rezultatul în memoria cache (package.loaded), astfel încât apelurile ulterioare returnează aceeași referință fără costuri de disc.

Crearea și consumarea unui modul matematic curat
-- Fișier: matematica.lua (Modulul):
local M = {} -- tabela exportată

-- Variabilă internă privată (neinclusă în M, invizibilă din exterior):
local PI_PRECIS = 3.141592653589793

function M.calculeazaArieCerc(raza)
    return PI_PRECIS * raza * raza
end

function M.calculeazaPerimetruCerc(raza)
    return 2 * PI_PRECIS * raza
end

return M -- returnăm tabela de API

----------------------------------------------------
-- Fișier: main.lua (Consumatorul):
local matematica = require("matematica")

local arie = matematica.calculeazaArieCerc(10)
print(string.format("Aria cercului cu raza 10 este: %.2f", arie))
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Sistemul de Module în Lua: require, package.path și Încărcare Modulară

Ai o nelămurire despre utilizarea comenzii Sistemul de Module în Lua: require, package.path și Încărcare Modulară sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.