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 exemplo

C.lua:

local A = require 'A'

-- ...

A.foo()
Pode haver outro móduloD isso requereB mas nãoA e / ouE exigindo ambosA eBNemA nemB nem seus membros devem ser adicionados ao espaço para nome globaEvite usar omodule esetfenvunções (obsoletas em Lua 5.

Related: Lua - como uso uma lib de outra? (nota: esta solução não lida com dependências circulares.)

questionAnswers(3)

yourAnswerToTheQuestion