作用
加载指定的模块,相当与#include作用类似,加载了该模块,那么就可已使用模块中的全局函数和全局数据(如表等等)
注:实际上require “xxx”后,会将xxx中的全局函数和数据放到表_G中,所以也就能访问了。
(1)main.lua
require "test"
require "showSome"
(2)test.lua
function CallFunc()
//这里能调用show(),证明了_G中有show这个元素
show()
end
(3)showSome.lua
function show()
print("it is showsome")
end
require的返回值
require “xxx” 某个模块后
- 如果该模块自身有返回值,且模块加载成功,那么require 的返回值就是该模块的返回值
- 如果模块没有返回值,如果require加载模块成功,就返回ture
- require 内部将返回值储存在:package.loaded表中。(即:package.loaded[xxx]中)
(1)main.lua
x = require "test"
function Call()
x.show()
end
(2)test.lua
local tb = {}
function tb.show()
print("it is ok")
end
return tb