Lua - require和module

require不存_G只存package.loaded
module即存_G又存package.loaded


package.loaded里存的是require和module最后的返回值
require 默认返回值是true
module 默认返回值是模块的table也就是_G[modulename]

返回多个值时package.loaded取第一个值

如果一个文件里有多个module的话,返回值算第一个module的,其他module的package.loaded值
都为自身,而且第二个module算第一个module的子元素,属嵌套关系,以此类推

 

总结:

module相当于比require多放到了_G表,
require的不在_G表里,但第二次调用require时会从
package.loaded里拿出上次调用时存里面的返回值来用。

 

 

你可能感兴趣的:(lua,lua)