Is there a way to have a function in Lua that can be accessed from any module in a project without having to first require it?
something like:
module(..., package.seeall);
function globFoo()
print('global foo called');
end
and have it called from somwhere else, like main
--main
globFoo();
without requiring it?
A module is just a Lua script. You can do whatever you want there; you don’t even have to call
modulein your module script. Indeed,moduleis generally considered harmful these days, which is why it was deprecated in Lua 5.2.Really, it’s a matter of simply moving your code around:
So yes, you can have a module modify the global table. I would very much suggest that you don’t (because it creates implicit ordering between Lua scripts, which makes it hard to know which script uses which stuff). But you can do it.