转自:http://www.cnblogs.com/whiteyun/archive/2009/08/12/1543184.html

基本函数库为Lua内置的函数库,不需要额外装载

assert (v [, message])
功能:相当于C的断言,
参数:
v:当表达式v为nil或false将触发错误,
message:发生错误时返回的信息,默认为"assertion failed!"

--------------------------------------------------------------------------------

collectgarbage (opt [, arg])
功能:是垃圾收集器的通用接口,用于操作垃圾收集器
参数:
opt:操作方法标志
"Stop": 停止垃圾收集器
"Restart": 重启垃圾收集器
"Collect": 执行一次全垃圾收集循环
"Count": 返回当前Lua中使用的内存量(以KB为单位)
"Step": 单步执行一个垃圾收集. 步长 "Size" 由参数arg指定 (大型的值需要多步才能完成),如果要准确指定步长,需要多次实验以达最优效果。如果步长完成一次收集循环,将返回True
"Setpause": 设置 arg/100 的值作为暂定收集的时长
"Setstepmul": 设置 arg/100 的值,作为步长的增幅(即新步长=旧步长*arg/100)

--------------------------------------------------------------------------------

dofile (filename)
功能:打开并且执行一个lua块,当忽略参数filename时,将执行标准输入设备(stdin)的内容。返回所有块的返回值。当发生错误时,dofile将错误反射给调用者
注:dofile不能在保护模式下运行

--------------------------------------------------------------------------------

error (message [, level])
功能:终止正在执行的函数,并返回message的内容作为错误信息(error函数永远都不会返回)
通常情况下,error会附加一些错误位置的信息到message头部.
Level参数指示获得错误的位置,
Level=1[默认]:为调用error位置(文件+行号)
Level=2:指出哪个调用error的函数的函数
Level=0:不添加错误位置信息

--------------------------------------------------------------------------------

_G全局环境表(全局变量)
功能:记录全局环境的变量值的表 _G._G = _G

--------------------------------------------------------------------------------

getfenv(f)
功能:返回函数f的当前环境表
参数:f可以为函数或调用栈的级别,级别1[默认]为当前的函数,级别0或其它值将返回全局环境_G

--------------------------------------------------------------------------------

getmetatable(object)
功能:返回指定对象的元表(若object的元表.__metatable项有值,则返回object的元表.__metatable的值),当object没有元表时将返回nil

--------------------------------------------------------------------------------

ipairs (t)
功能:返回三个值 迭代函数、表、0
多用于穷举表的键名和键值对
如:for i,v in ipairs(t) do

end
每次循环将索引赋级i,键值赋给v
注:本函数只能用于以数字索引访问的表 如:t={"1","cash"}

--------------------------------------------------------------------------------

load (func [, chunkname])
功能:装载一个块中的函数,每次调用func将返回一个连接前一结的字串,在块结尾处将返回nil
当没有发生错误时,将返回一个编译完成的块作为函数,否则返回nil加上错误信息,此函数的环境为全局环境
chunkname用于错误和调试信息

--------------------------------------------------------------------------------

loadfile ([filename])
功能:与load类似,但装载的是文件或当没有指定filename时装载标准输入(stdin)的内容

--------------------------------------------------------------------------------

loadstring (string [, chunkname])
功能:与load类似,但装载的内容是一个字串
如:assert(loadstring(s))()

--------------------------------------------------------------------------------

next (table [, index])
功能:允许程序遍历表中的每一个字段,返回下一索引和该索引的值。
参数:table:要遍历的表
   index:要返回的索引的前一索中的号,当index为nil[]时,将返回第一个索引的值,当索引号为最后一个索引或表为空时将返回nil
注:可以用next(t)来检测表是否为空(此函数只能用于以数字索引的表与ipairs相类似)

--------------------------------------------------------------------------------

ipairs (t)
功能:返回三个值 next函数、表、0
多用于穷举表的键名和键值对
如:for n,v in pairs(t) do

end
每次循环将索引赋级i,键值赋给v
注:本函数只能用于以键名索引访问的表 如:t={id="1",name="cash"}

--------------------------------------------------------------------------------

pcall (f, arg1, ···)
功能:在保护模式下调用函数(即发生的错误将不会反射给调用者)
当调用函数成功能返回true,失败时将返回false加错误信息

--------------------------------------------------------------------------------

print (···)
功能:简单的以tostring方式格式化输出参数的内容

--------------------------------------------------------------------------------

rawequal (v1, v2)
功能:检测v1是否等于v2,此函数不会调用任何元表的方法

--------------------------------------------------------------------------------

rawget (table, index)
功能:获取表中指定索引的值,此函数不会调用任何元表的方法,成功返回相应的值,当索引不存在时返回nil
注:本函数只能用于以数字索引访问的表 如:t={"1","cash"}

--------------------------------------------------------------------------------

rawset (table, index, value)
功能:设置表中指定索引的值,此函数不会调用任何元表的方法,此函数将返回table

--------------------------------------------------------------------------------

select (index, ···)
功能:当index为数字将返回所有index大于index的参数:如:select(2,"a","b") 返回 "b"
当index为"#",则返回参数的总个数(不包括index)

--------------------------------------------------------------------------------

setfenv (f, table)
功能:设置函数f的环境表为table
参数:f可以为函数或调用栈的级别,级别1[默认]为当前的函数,级别0将设置当前线程的环境表

--------------------------------------------------------------------------------

setmetatable (table, metatable)
功能:为指定的table设置元表metatable,如果metatable为nil则取消table的元表,当metatable有__metatable字段时,将触发错误
注:只能为LUA_TTABLE 表类型指定元表

--------------------------------------------------------------------------------

tonumber (e [, base])
功能:尝试将参数e转换为数字,当不能转换时返回nil
base(2~36)指出参数e当前使用的进制,默认为10进制,如tonumber(11,2)=3

--------------------------------------------------------------------------------

tostirng(e)
功能:将参数e转换为字符串,此函数将会触发元表的__tostring事件

--------------------------------------------------------------------------------

type(v)
功能:返回参数的类型名("nil","number", "string", "boolean", "table", "function", "thread", "userdata")

--------------------------------------------------------------------------------

unpack (list [, i [, j]])
功能:返回指定表的索引的值,i为起始索引,j为结束索引
注:本函数只能用于以数字索引访问的表,否则只会返回nil 如:t={"1","cash"}

--------------------------------------------------------------------------------

_VERSION
功能:返回当前Lua的版本号"Lua 5.1".

--------------------------------------------------------------------------------

xpcall (f, err)
功能:与pcall类似,在保护模式下调用函数(即发生的错误将不会反射给调用者)
但可指定一个新的错误处理函数句柄
当调用函数成功能返回true,失败时将返回false加err返回的结果

转载于:https://www.cnblogs.com/lifesteven/p/4169486.html

Lua基本函数库 【转】相关推荐

  1. Lua中的基本函数库

    基本函数库为Lua内置的函数库,不需要额外装载 assert (v [, message]) 功能:相当于C的断言, 参数: v:当表达式v为nil或false将触发错误, message:发生错误时 ...

  2. 第五章 常用Lua开发库2-JSON库、编码转换、字符串处理

    JSON库 在进行数据传输时JSON格式目前应用广泛,因此从Lua对象与JSON字符串之间相互转换是一个非常常见的功能:目前Lua也有几个JSON库,本人用过cjson.dkjson.其中cjson的 ...

  3. 转 Lua标准库: table函数, 数学函数, 字符串函数/格式化/配对, WoW新增函数, 函数别名...

    这里只介绍和插件编写比较有关的几个函数. 详细的Lua手册请参照Lua Reference Manual 5.1. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow. ...

  4. matlab工具箱计算最小生成树_matlab_bgl 图论基本函数库, 相当丰富.包含工具箱、 、Dijkstra最短路径、 254万源代码下载- www.pudn.com...

    文件名称: matlab_bgl下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 7394 KB 上传时间: 2016-03-30 下载次数: 0 详细说明: ...

  5. xcode下lua扩展库的编译

    最近在研究ios越狱下的touchsprite脚本的开发. touchsprite的脚本语言是lua, 有个需求是需要通过touchsprite批量导入联系人到ios里. 看了一下touchsprit ...

  6. lua string库

    --lua中字符串索引从前往后是1,2,--,从后往前是-1,-2--. --string库中所有的function都不会直接操作字符串,只返回一个结果. ---------------------- ...

  7. lua string 库

    转载自:http://blog.sina.com.cn/s/blog_6d9d6d160101975u.html --lua中字符串索引从前往后是1,2,--,从后往前是-1,-2--. --stri ...

  8. Lua string库整理

    string库提供了字符串处理的通用函数. 例如字符串查找.子串.模式匹配等. 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 ). 索引可以是负数,它指从字符串末 ...

  9. 第五章 常用Lua开发库1-redis、mysql、http客户端

    对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis.Memcached.Mysql.Http客户端.JSON.模板引擎等. 一些常见的Lua库可 ...

最新文章

  1. TSQL--NESTED LOOPS JOIN
  2. iOS10 UI教程禁用视图与用户的交互
  3. java接口关于interface关键字
  4. HTML/CSS[收藏]
  5. 计算机应用大一题,大一计算机应用基础习题与答案(精选).doc
  6. 理论基础 —— 二叉树 —— 哈夫曼树与哈夫曼编码
  7. 自定义PopupWindow 怎么设置PopupWindow的宽度充满全屏宽度
  8. matdem矩阵维度必须一致_「数据仓库篇」Kimball维度建模方案
  9. 算法进阶之Leetcode刷题记录
  10. Java 高阶 —— 相等性比较
  11. 走遍中国《中国古镇全集》
  12. servlet 与 tomcat版本不匹配的问题
  13. oracle mysql odbc驱动程序_oracle odbc驱动下载
  14. R语言画好看的聚类树
  15. 传说中的世界500强面试题-数学能力(2)
  16. julia的安装以及三个报错解决(包安装、dot函数无定义、定义变量无法在循环中使用)
  17. 14.敏捷组织转型四步法之4 - 通过复盘、回顾,持续改进
  18. Mac 安装MySQL到移动硬盘
  19. 地震了!最好直接砸死我!
  20. 4路 HX5+Emulex 8Gb 实现 BOFM 实施 -chenjhh@dc

热门文章

  1. armbian docker Chrome_Docker入门 - USTCINFO_QC
  2. 小米不加入鸿蒙,是华为不给小米用鸿蒙,还是小米拒绝使用鸿蒙?
  3. Treap树(堆树)
  4. 正则表达式---重复
  5. 微软Skype即将抛弃Windows Phone 8和8.1用户
  6. 《大数据导论》——2.3节业务流程管理
  7. Derby安装使用说明
  8. Bootstrap3.0入门学习系列规划[持续更新]
  9. Real Application Cluster 10g安装与配置(下)
  10. 网络拓扑Visio式的定制