Module 在lua中加载模块时如何避免循环
我有一个情况,我需要使用两个模块。。。两者都加载/引用另一个模块。所以我得到了一个关于循环的错误 以下是模块1中的代码:Module 在lua中加载模块时如何避免循环,module,lua,include,Module,Lua,Include,我有一个情况,我需要使用两个模块。。。两者都加载/引用另一个模块。所以我得到了一个关于循环的错误 以下是模块1中的代码: require("posix") posix.setenv("PATH", "/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin") 在模块2中,我有同样的东西: require("posix") local ts = posix.stat(spath, "ctime") 我发现这个帖子: 我试着应用
require("posix")
posix.setenv("PATH", "/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin")
在模块2中,我有同样的东西:
require("posix")
local ts = posix.stat(spath, "ctime")
我发现这个帖子:
我试着应用上面的帖子所说的,我改变了两个模块中的逻辑,如下所示:
posix = posix or require("posix")
但我还是收到了错误信息。
如有任何建议,将不胜感激
编辑1
测试仪.lua
local main =require("main")
module (..., package.seeall)
-- Load libraries
require("commonfunctions")
require("luasql.postgres")
require("session")
posix = posix or require "posix"
posix = posix or require "posix"
main.lua
local main =require("main")
module (..., package.seeall)
-- Load libraries
require("commonfunctions")
require("luasql.postgres")
require("session")
posix = posix or require "posix"
posix = posix or require "posix"
commonfunctions.lua
local main =require("main")
module (..., package.seeall)
-- Load libraries
require("commonfunctions")
require("luasql.postgres")
require("session")
posix = posix or require "posix"
posix = posix or require "posix"
session.lua
local main =require("main")
module (..., package.seeall)
-- Load libraries
require("commonfunctions")
require("luasql.postgres")
require("session")
posix = posix or require "posix"
posix = posix or require "posix"
错误消息
lua: /usr/share/acf/lib//session.lua:15: loop or previous error loading module 'posix'
stack traceback:
[C]: in function 'require'
/usr/share/lib//session.lua:15: in main chunk
[C]: in function 'require'
/usr/share/myapp/main.lua:10: in main chunk
[C]: in function 'require'
/usr/share/lua/5.1/posix.lua:2: in main chunk
[C]: in function 'require'
/usr/share/acf/lib//commonfunctions.lua:4: in main chunk
[C]: in function 'require'
./kamfmfm-model.lua:3: in main chunk
[C]: in function 'require'
tester.lua:6: in main chunk
[C]: ?
您收到了哪条错误消息?模块名是什么?lhf,请查看我文章的编辑1。非常感谢。这不是一个循环的问题,所以你们可以参考这篇文章。您没有A require B和B require A。如果“main”不需要“session”,问题是否会消失?您是否尝试过单独运行每个模块?