详解下lua里面module packageseeall 里面的package保存在哪里是在lua的_G表里吗
在Lua中,package是一个预定义的全局变量,它包含了一些有关模块加载的函数和变量。在使用module( ,package.seeall)来定义一个模块时,package实际上是一个参数,用于指定模块的环境表,类似于一个命名空间。这个环境表包含了模块中定义的所有变量和函数。
在module( ,package.seeall)中,package可以是一个表,也可以是一个字符串。如果package是一个字符串,则Lua会从package.loaded表中查找该模块,并将该表作为模块的环境表。如果package是一个表,则Lua会将该表作为模块的环境表。
package.loaded是一个Lua预定义的全局表,用于保存已经加载的模块。当Lua需要加载一个模块时,它会先在package.loaded表中查找该模块,如果已经加载过了,则直接返回该模块的环境表,否则就会按照package.path和package.cpath中指定的路径查找并加载该模块。
因此,package实际上是一个局部变量,它保存在模块的环境表中,而不是在全局变量_G中
原文地址: https://www.cveoy.top/t/topic/hwDE 著作权归作者所有。请勿转载和采集!