lua第三方库

luarocks

luarocks是一个用lua写的包管理工具,类似Mac的终端工具brew,Ubuntu的apt。可以通过luarocks config来查看当前的配置,可以通过Options中的选项修改配置,使用就看Commands

安装

$ wget https://luarocks.org/releases/luarocks-3.5.0.tar.gz
$ tar zxpf luarocks-3.5.0.tar.gz
$ cd luarocks-3.5.0
$ ./configure && make && sudo make install

使用例子

库的安装位置可以通过luarocks config来查看deploy_bin_dir、deploy_lib_dir、deploy_lua_dir。

安装第三方库penlight、luafilesystem
$ luarocks install luafilesystem
$ luarocks install penlight
显示已经安装的库
$ luarocks list
显示配置
$ luarocks config

luafilesystem

LuaFileSystem是一个Lua库,用于补充文件系统相关的功能集。它是用C来编写的,所以提供的是一个动态库。文件在这里,可以通过luarocks安装:luarocks install luafilesystem

函数说明
attributes获取文件属性
chdir将当前工作目录更改为给定路径
lock_dir创建一个文件锁,如果文件不存在则返回该文件,如果已经存在检查该文件的状态,使用lock:free()去释放该文件锁
currentdir返回当前目录
lock锁住一个文件,就是打开它
unlock取消锁,就是关闭它
link创建一个硬链接
mkdir创建一个新目录
rmdir删除一个已经存在的目录
setmode设置文件模式
touch创建一个文件

penlight

penlight是一个强大的工具库,它依赖luafilesystem,penlight的API文档在这里。可以通过luarocks安装:luarocks install penlight

模块说明
plEntry point for loading all PL libraries only on demand, into the global space.
pl.SetA Set class.
pl.appApplication support functions.
pl.array2dOperations on two-dimensional arrays.
pl.classProvides a reuseable and convenient framework for creating classes in Lua.
pl.compatLua 5.1/5.2/5.3 compatibility.
pl.comprehensionList comprehensions implemented in Lua.
pl.configReads configuration files into a Lua table.
pl.dataReading and querying simple tabular data.
pl.dirListing files in directories and creating/removing directory paths.
pl.fileFile manipulation functions: reading, writing, moving and copying.
pl.funcFunctional helpers like composition, binding and placeholder expressions.
pl.import_intoPL loader, for loading all PL libraries, only on demand.
pl.inputIterators for extracting words or numbers from an input source.
pl.lappSimple command-line parsing using human-readable specification.
pl.lexerLexical scanner for creating a sequence of tokens from text.
pl.luabalancedExtract delimited Lua sequences from strings.
pl.operatorLua operators available as functions.
pl.pathPath manipulation and file queries.
pl.permutePermutation operations.
pl.prettyPretty-printing Lua tables.
pl.seqManipulating iterators as sequences.
pl.sipSimple Input Patterns (SIP).
pl.strictChecks uses of undeclared global variables.
pl.stringioReading and writing strings using file-like objects.
pl.stringxPython-style extended string library.
pl.tablexExtended operations on Lua tables.
pl.templateA template preprocessor.
pl.testUseful test utilities.
pl.textText processing utilities.
pl.typesDealing with Detailed Type Information
pl.urlPython-style URL quoting library.
pl.utilsGenerally useful routines.
pl.xmlXML LOM Utilities.

ldoc

ldoc是一个用lua编写的lua的文档生成器,ldoc依赖penlightpenlight的文档是用ldoc生成的。可以通过luarocks安装:luarocks install ldoc

使用

例子来自LDoc/tests/md-test,配置文件config.ld如下:

project = 'ldoc-example'
title = 'Markdown Docs'
format = 'markdown'
file = 'ldoc.lua'

命令行生成一个文档:ldoc -c config.ld .,默认会在当前目录下生成一个doc文件夹,生成文件会放在doc文件中。我们也可以使用纯命令的形式:ldoc --project "md-test" --title 'Markdown Docs' format 'markdown' --file mod2.lua

规则

多看几个例子就大概能知道它的规则了,例子在这里,我们来看md-test中的这个例子,lua文件如下:

---------------------
-- Another test module.
-- This one uses _Markdown_ formating, and so can include goodies such as `code` and lists:
--
--  - one
--  - two
--  - three
--
-- @author StoneLiu
-- @module LDocExample

--[[--
really basic function. Can contain links such as [this](http://lua-users.org/wiki/FindPage)
@bool first dd
@string second **bold** maybe? It can continue:

 - another point
 - finish the damn list
@param third as before
@return err msg_err
@see field1
@usage
basic(x1,x2,x3)
]]
function M.basic(first,second,third)
end

---
-- @field x xxx
-- @field y yyy
M.field1= {
    x = 480, -- x
    y = 640, -- y
}
  • 注释是以大于或者等于三个_开头的注释,例如---,或者--[[--开头的注释,下面的注释你换行生成的文档就换行,支持markdown语法。
  • 函数之间要有空行
  • 支持的参数类型有:bool,number,string,table,function,param,tparam,thread
  • 支持的标签有:return,usage,see,return,

生成的文档如下:
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页