Lua中的require函数使用完整路径名。

我需要调用一个 Lua 文件的 require,但它并不总是在同一个位置。我试图在完整路径名上调用 require,但似乎也不起作用。我甚至尝试将一个正常工作的 require 替换为正确的完整路径名到同一文件

例如将 require "foo" 改为 require "C:\Users\Me\MyLuaProject\foo"

但当我将其切换到完整路径名称后,它无法找到该文件。所以我想知道是否可以在完整路径上调用 require,如果不能,那么我应该如何以不同的方式实现相同的结果?

点赞
用户1516484
用户1516484

将包含文件的目录添加到package.path

package.path = package.path .. ";C:\\Users\\Me\\MyLuaProject"
require "foo"

您还可以将其添加到LUA_PATH环境变量中,但这可能不太容易在运行时修改。

模块的常见模式是具有abc.lua和abc / xyz.lua;为了要求这样的子目录中的文件,请使用以下内容:

需要 "abc"
需求 "abc.xyz"
2012-08-08 16:34:25
用户107090
用户107090

如果只需要加载一个文件,请使用 dofile 函数,它需要一个路径作为参数:

dofile("C:\\Users\\Me\\MyLuaProject\\foo")
2012-08-08 17:05:50