lua模块加载

module(modname,[package.seeall])函数

通过package.seeall选项可令旧全局环境可见。

require(modname)加载指定的模块。

先检测package.loaded表中是否存在modname,存在则直接返回当中的值,没有则通过加载器加载modname。

package.path:用于requireLualoader的搜索路径

可以通过修改LUA_PATH变量(luaconf.h)修改此值

require只认文件名,不认路径名。要加入路径名信息的话,就要写成父模块子模块的形式。

如果加载不同路径下的同名模块,先package.loaded["modname"]=nil,然后再加载。

Lua提供require函数来加载运行库,dofile完成类似的功能:

require的路径是一个模式列表,

例如,路径如下:?;?.lua;c:\windows\?;/usr/local/lua/?/?.lua

为了确定路径,Lua首先检查全局变量LUA_PATH是否为一个字符串,如果是则认为这个串就是路径;否则require检查环境变量LUA_PATH的值,如果两个都失败require使用固定的路径(典型的"?;?.lua")

相关推荐