分享

module (..., package.seeall) 到底是什么意思

 袁先森lemon 2020-04-06
   以上是lua5.1中文手册中的说明,确实没看明白(以前没学过别的编程语言)。
以下是网上找的解释:
--[[一般在一个Lua文件内以module函数开始定义一个包。module同时定义了一
个新的包的函数环境,以使在此包中定义的全局变量都在这个环境中,而非
使用包的函数的环境中。理解这一点非常关键。 “module(..., package.seeall)”
的意思是定义一个包,包的名字与定义包的文件的名字相同,并且在包的函数
环境里可以访问使用包的函数环境。
使用方式
一般用require函数来导入一个包,要导入的包必须被置于包路径(package
path)上。包路径可以通过package.path或者环境变量来设定。一般来说,
当前工作路径总是在包路径中。--]]
------------------------------------------
简单的说
a.lua
module (..., package.seeall)
flag=true
function example()
...
end

在别的脚本中
require "a"

调用脚本a中的任何全局变量或者函数必须加上a.
这个好处就是你不同的脚本中可以用相同的名称定义变量或者函数,而不会混乱。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多