Forma recomendada de tener 2+ módulos recursivamente referidos entre sí en Lua 5.2
Hay una manera de tener
Dos módulos Lua (llamémoslosA
yB
)ada módulo utiliza funciones del otro, por lo que debenrequire
El uno al otr Un tercer módulo (llamémosloC
) puedo usarA
pero noB
p.ejC.lua
:
local A = require 'A'
-- ...
A.foo()
Puede haber otro móduloD
eso requiereB
pero noA
y / oE
requiriendo ambosA
yB
NingunoA
norB
ni sus miembros deben agregarse al espacio de nombres global.Evite usar lamodule
ysetfenv
funciones (en desuso en Lua 5.2)Relacionad: Lua: ¿cómo uso una lib de otra? (nota: esta solución no maneja dependencias circulares).