lua中的require

最后更新于 2023-05-23 5772 次阅读


作用

加载指定的模块,相当与#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