开发者社区> 杨粼波> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Windows下使用luaDoc给lua生成文档

简介: 第二个参数是需要生成文档的lua脚本文件列表(输入文件),不过我们可以传入了一个*,它会自动解析生成的,让它遍历当前路径的lua文件以及当前路径下面所有的子文件夹的lua文件。
+关注继续查看
 首先需要安装lua,Windows下自然是安装Lua For Windows咯,下载地址:http://code.google.com/p/luaforwindows/
安装以后它已经包含了luadoc,所以无需我们再去下载,如果非要去下载的话,那么下载地址是:http://luadoc.luaforge.net/

然后,我们需要准备一个批处理文件,叫啥名字无所谓,我是取名叫做buildDoc.bat的,我用doxygen的时候也是叫这个名字的,以下是批处理文件的内容:
None.gif@echo on
None.giflua.exe "%LUA_DEV%\lua\luadoc_start.lua" -d "Docs" *
None.gifpause
它做了什么呢?它调用了lua.exe执行了luadoc_start.lua这个脚本,传入的参数-d "Docs"的意思是生成的文档文件夹(输出路径),如果没有则是生成在批处理文件当前路径。第二个参数是需要生成文档的lua脚本文件列表(输入文件),不过我们可以传入了一个*,它会自动解析生成的,让它遍历当前路径的lua文件以及当前路径下面所有的子文件夹的lua文件。

有了这个批处理文件,这个时候我们就可以生成lua的文档了,只需要鼠标轻轻一点就可以了。^_^

以下给出一点lua脚本的示例:
None.gif--- 测试用表
None.gif-- @class table
None.gif-- @name p_GlobalOptions
None.gif-- @field opt1 字段1
None.gif-- @field opt2 字段2
None.giflocal p_GlobalOptions = {
None.gif            opt1 = nil, 
None.gif            opt2 = nil,
None.gif}
这是一个表的简单示例,其中
-- @class table 
         是表明其类型是一个表,
-- @name 
         p_GlobalOptions是表名,
-- @field opt1 字段1
         说明第一个字段是什么。
-- @field opt2 字段2
         说明第二个字段是什么。

None.gif--------------------------------------------------------------------------------------
None.gif-- @name test
None.gif-- @description 嗯。。。这是一个测试方法的方法
None.gif-- @param param1 参数1
None.gif-- @param param2 参数2
None.gif-- @return 没有返回值哦
None.gif-- @usage test()
None.gif-- @see p_GlobalOptions 
None.gif--------------------------------------------------------------------------------------
None.giffunction test(param1, param2)
None.gifend
-- @param param1 参数1
         说明参数1;
-- @return 没有返回值哦
         说明了返回值
-- @usage test()
         这里是给出一个示例代码来;
-- @see p_GlobalOptions
         可以生成一个超链接,表明这个方法和p_GlobalOptions是有关,你可以去查看。
其实还可以改改这么写:
None.gif--------------------------------------------------------------------------------------
None.gif-- @class function
None.gif-- @name test
None.gif--------------------------------------------------------------------------------------
None.gif-- @description 嗯。。。这是一个测试方法的方法
None.gif-- @param param1 参数1
None.gif-- @param param2 参数2
None.gif-- @return 没有返回值哦
None.gif-- @usage test()
None.gif-- @see p_GlobalOptions 
None.gif--------------------------------------------------------------------------------------
即,表明其类型是一个function,名字叫做test。
@class有三个参数:function, table 和 module。分别表示是:方法,表和模块。

具体文档请参见: http://luadoc.luaforge.net/manual.html


-------------------------------------------------------------------------------------------------------------
来点闲话,最近工作已经放到了使用lua做开发上面去了,没办法,广州这边的游戏公司基本上都是用脚本做大部分事情。
至于为什么要这样倚重脚本,无非就是:出于人员培训的考虑,出于快速开发的考虑……
没有复杂的数据类型,甚至于其实根本不用管数据类型是什么,因为它是一个弱类型的语言……
只有一个数据结构:table,可以做变长数组,可做hash表,甚至用于模拟Class……
你可以不用声明类型,它可以叫做“使用即声明”。你一不小心把名字写错了,解释器还不报错:这是合法的。想要捕获这种错误,还需要一些技巧性的解决方法。
没有像VS那样好用的IDE(因为我自始自终都在用着这个让人惰性化的工具),虽然有UEStudio、EditPlus、NotePad++、SciTe、GVIM、LuaEdit,甚至于Eclipse也可以用,但是,始终不觉得好用。
调试起来也不大方便,不过还好有Decoda这个支持远程调试器的好东西,至少还有的用。
不管怎样,
弱类型有弱类型的好处,实现委托不是那么困难的事情了,也不需要使用像boost:any这样的玩意了。C++中所需要思考的东西一下子不再需要去烦扰了。
不过我却依然快不起来,语言上所要困扰的东西虽然少了许多,但是习惯它总是需要时间的。
而且,融入新团队,沟通,这些开发中的成本始终是存在的,不管用什么编程语言,不管做什么项目,不管在什么公司……

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用python将word文档和pdf电子书进行格式互转(兼容Windows/Linux)
一些重要文档格式之间的互转在目前显得尤为重要,pdf作为通用格式在现在各个平台上兼容性是最好的,所以写python脚本将这些word文档批量转换pdf是最好的解决方案。 由于windows系统对于word文档有天然的兼容性优势,所以转换起来很简单,普遍上是通过comtypes模块。
0 0
Windows、Mac系统 Elasticsearch离线文档(支持选择版本)安装部署教程
此文档是针对当前最新版本,或指定版本安装教程 如需下载 Elastic认证考试特定版本,请戳: Elasticsearch离线文档安装部署教程(Elastic认证考试版) 鉴于备考环境需要经常访问官方文档,而官方访问速度齁慢齁慢。特此给出官方文档离线版食谱,各位客官细细品尝。
0 0
在Windows Server系统上配置静态IP
在Windows Server系统上配置静态IP的方法
0 0
+关注
杨粼波
网游的老兵
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ECS运维指南之Windows系统诊断
立即下载
TAKING WINDOWS 10 KERNEL
立即下载
《云服务器运维之Windows篇》
立即下载