aneira recomendada de mais de 2 módulos se referirem recursivamente um ao outro na Lua 5.2
Existe uma maneira de ter
Dois módulos Lua (vamos chamá-losA
eB
)ada módulo usa funções do outro, portanto, ele deverequire
entre sUm terceiro módulo (vamos chamá-loC
) pode usarA
mas nãoB
por exemploC.lua
:
local A = require 'A'
-- ...
A.foo()
Pode haver outro móduloD
isso requereB
mas nãoA
e / ouE
exigindo ambosA
eB
NemA
nemB
nem seus membros devem ser adicionados ao espaço para nome globaEvite usar omodule
esetfenv
unções (obsoletas em Lua 5.Related: Lua - como uso uma lib de outra? (nota: esta solução não lida com dependências circulares.)