require的搜索路径由两个全局变量控制,可通过如下方式进行打印:
print(package.path) -- .lua搜索路径
print(package.cpath) -- .so搜索路径
可通过如下例子添加一个自定义的LUA路径,也即添加package.path
的取值:
local p = "/diska/htdocs/work/"
local m_package_path = package.path
package.path = string.format("%s?.lua;%s?/init.lua;%s", p, p, m_package_path)
添加了搜索路径后,在引用模块时,如果模块还有层级划分,则可通过.
的方式引用,例如:
local b = require "a.b" -- 引用搜索路径下a目录下的b