Path 如何使用.lua导航到上面的目录
我有这样的东西Path 如何使用.lua导航到上面的目录,path,lua,directory,Path,Lua,Directory,我有这样的东西 /config.lua /client/init.lua 如何将config.lua与include()或dofile()一起包含? Lg您的选择是正确的。(但是,Lua中没有include函数。)正如您可能已经注意到的那样,您不能使用以下功能: require通常从初始脚本的目录单向运行,任何需要自己模块的所需模块必须从该起点使用相对名称才能正常工作 即,如果您具有以下结构: --+ main.lua requires 'lib.test1' +-- l
/config.lua
/client/init.lua
如何将config.lua
与include()
或dofile()一起包含?
Lg您的选择是正确的。(但是,Lua中没有include
函数。)正如您可能已经注意到的那样,您不能使用以下功能:
require
通常从初始脚本的目录单向运行,任何需要自己模块的所需模块必须从该起点使用相对名称才能正常工作
即,如果您具有以下结构:
--+ main.lua requires 'lib.test1'
+-- lib/test1.lua requires 'test2'
+-- lib/test2.lua
通过将。/?.lua
添加到package.path
,您可以(也可能应该)使用require
完成此操作,如下所示:
package.path = package.path .. ";../?.lua"
require "config"
有关更多信息,请参阅和文档。dofile”/config.lua“
不适用于您?否:奇数。您在Linux上,文件系统的根目录有config.lua?因此,如果执行“ls/*.lua”,您会看到列出的config.lua?您可以在运行脚本时找到您的工作目录。使用类似于os.execute(“cd”)
或popen
的方法,如下所示。一旦知道当前的工作目录,就可以构造目标脚本相对于该目录的路径。问题是,我从Just Cause 2 MP服务器运行脚本,所以当我尝试这样做时,实际上什么都没有发生。虽然我不明白你的确切意思,但如果你能像我一样解释一下,那就太好了。谢谢谢洛,首先谢谢你的回答,但它不起作用。(我的配置名为job_config):结构如下:(在两个文件夹中都有一个.lua需要包含配置)与job_config.lua
相关的当前目录在哪里?您应该能够通过打印io.popen('cd','r'):在某处读取'*a'
,或在终端中运行os.执行'cd'
来确定这一点。
package.loaded.config = dofile'../config.lua'
-- ...
local cfg = require'config'
package.path = package.path .. ";../?.lua"
require "config"