其他分享
首页 > 其他分享> > lua第三方库

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 intall luafilesystem
$ luarocks intall 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 = 'md-test'
title = 'Markdown Docs'
format = 'markdown'
file = 'mod2.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
--
-- @module mod2

--- 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
-- @usage
-- basic(x1,x2,x3)
function mod2.basic(first,second,third)
end

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

标签:luarocks,Lua,--,lua,penlight,第三方,pl
来源: https://blog.csdn.net/momo0853/article/details/112979470