【Lua】多脚本引用
在当前脚本引用其他脚本:require("脚本名")
package.loaded()
package.loaded返回的本身是一个Lua的全局表,它也被存储在了_G表中,即
package.loaded和_G["package"].loaded和_G["package"]["loaded"]三者本质上一样
它用于记录已经被require()加载过的模块
package.loaded["脚本名"] 只能返回一个值,它的本质是一个table的查找操作,即从package.loaded这个table中取出键为“脚本名”的值
例子:
local result = package.loaded["脚本名"]
1.package.loaded["脚本名"] 前有require("脚本名")
a.若被加载的脚本有return值:获取到的result值为return的第一个值
b.若被加载的脚本没有return值:获取到的result值为true
2.package.loaded["脚本名"] 前没有require("脚本名")
a.result值为nil
被加载的脚本再次调用require不会被二次加载,当脚本被第一次加载后,会被存储在package.loaded这个table内,package.loaded["脚本名"]存储了对应的引用,而在每次的require时,会再次检查这个表,看看是否已经加载了对应的脚本。