北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 27011|回复: 5

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

[复制链接]
发表于 2010-4-24 17:25:02 | 显示全部楼层 |阅读模式
谁能通俗的解释一下啊,迷糊中!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-24 17:29:42 | 显示全部楼层
先看书,把书中你迷糊的地方标出来。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-4-24 17:30:50 | 显示全部楼层
好的
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-4-24 19:03:39 | 显示全部楼层



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

没有例子确实理解起来确实挺费劲。。
programing in lua中没找到module相关的东西。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-24 21:03:06 | 显示全部楼层
简单的说
a.lua
module (..., package.seeall)
flag=true
function example()
...
end

在别的脚本中
require "a"

调用脚本a中的任何全局变量或者函数必须加上a.
这个好处就是你不同的脚本中可以用相同的名称定义变量或者函数,而不会混乱。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-4-24 23:33:58 | 显示全部楼层
看过你之前有个帖子提到过这个 module(...,package.seeall)
你这个解释比那些什么手册宝典一类的强太多了,反正我是
看了就明白了,非常感谢!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 05:42 PM , Processed in 0.011396 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表