详解下lua里面module packageseeall 里面的package
在Lua中,package是一个包含有关模块的信息的表。在使用module( , package.seeall)时,它将把所有的变量都添加到package表中,这样在模块的代码中,可以直接使用package.变量名来访问这些变量。
具体来说,package表包含以下键值对:
- package.path:一个字符串,表示Lua搜索模块的路径。当使用require加载模块时,Lua会在这些路径中搜索相应的模块文件。
- package.cpath:一个字符串,表示C语言扩展模块的搜索路径。当使用require加载C语言扩展模块时,Lua会在这些路径中搜索相应的共享库文件。
- package.loaded:一个表,记录已经加载的模块。当Lua尝试加载一个已经加载过的模块时,它会直接返回已经加载的模块,而不会再次加载。
- package.preload:一个表,用于替代require函数的加载行为。在require加载一个模块之前,Lua会先检查该模块是否存在于package.preload表中。如果存在,则直接调用该函数来加载模块。
- package.seeall:一个特殊的值,用于在模块中导出全局变量。当使用module(, package.seeall)时,模块中所有的全局变量都会被导出到全局环境中
原文地址: https://www.cveoy.top/t/topic/hwDt 著作权归作者所有。请勿转载和采集!