Lua require的搜索路径

发布时间 2023-08-06 12:20:20作者: mshentai

require时Lua语言中负责加载库的函数,他和dofile的区别主要在于:

1.require会判断是否文件已经加载避免重复加载同一文件;

2.require会搜索目录加载文件。

require的目录搜索路径:

用于搜索Lua文件的路径是变量package.path的当前值,当package初始化时,会将package.path设置为环境变量LUA_PATH_5_4的值(若是Lua5.4版本),如果这个环境变量没有被定义,则尝试LUA_PATH。如果都没有则使用编译时定义的默认路径。

用于搜索C标准库的路径则来自变量package.cpath,同样初始值也是来自LUA_CPATH_5_4或LUA_CPATH。