Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Module 在lua中加载模块时如何避免循环_Module_Lua_Include - Fatal编程技术网

Module 在lua中加载模块时如何避免循环

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") 我发现这个帖子: 我试着应用

我有一个情况,我需要使用两个模块。。。两者都加载/引用另一个模块。所以我得到了一个关于循环的错误

以下是模块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")
我发现这个帖子:

我试着应用上面的帖子所说的,我改变了两个模块中的逻辑,如下所示:

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”,问题是否会消失?您是否尝试过单独运行每个模块?