lua模块加载

module(mod name, [package.seeall] )函数
通过package.seeall选项可令旧全局环境可见。

require (mod name)  加载指定的模块。
先检测package.loaded表中是否存在modname,存在则直接返回当中的值,没有则通过加载器加载modname。

package.path:用于require Lua loader的搜索路径
     可以通过修改LUA_PATH变量(luaconf.h)修改此值

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

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


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

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

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

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



猜你喜欢

转载自catdoc.iteye.com/blog/2110241