模块
require()
函数
Lua 提供了一个名为 require()
的函数用来加载模块。要加载一个模块,只需要简单地调用 就可以了,file 指模块所在的文件名。这个调用会返回一个由模块函数组成的 table,并且还会定义一个包含该 table 的全局变量。
相当于将导出的函数作为 table 的一个字段,在 Lua 中函数是第一类值,提供了天然的优势。
把下面代码保存在文件 main.lua 中,然后执行 main.lua,调用上述模块。
另一个要注意的是,由于在 LuaJIT 中, 函数内不能进行上下文切换,所以不能够在模块的顶级上下文中调用 cosocket 一类的 API。
否则会报 attempt to yield across C-call boundary
错误。