这些函数都是Lua编程语言的一部分, 点击这里了解更多.

  • assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息

  • collectgarbage() - 垃圾收集器. (新增于1.10.1)

  • date(format, time) - 返回当前用户机器上的时间.

  • error("error message",level) - 发生错误时,输出一条定义的错误信息.使用pcall() (见下面)捕捉错误.

  • gcinfo() - 返回使用中插件内存的占用量(kb)以及当前垃圾收集器的使用量(kB).

  • getfenv(function or integer) - 返回此表已获取函数的堆栈结构或者堆栈等级

  • getmetatable(obj, mtable) - 获取当前的元表或者用户数据对象.

  • loadstring("Lua code") - 分析字符串中的lua代码块并且将结果作为一个函数返回

  • next(table, index) - 返回下一个key,一对表值.允许遍历整个表

  • pcall(func, arg1, arg2, ...) - 受保护调用. 执行函数内容,同时捕获所有的异常和错误.

  • select(index, list) - 返回选择此列表中的商品数值.或者是此件物品在列表中的索引值

  • setfenv(function or integer, table) - 设置此表已获取函数的堆栈结构或者堆栈等级

  • setmetatable(obj, mtable) - 设置当前表的元表或者用户数据对象

  • time(table) - 返回从一个unix时间值

  • type(var) - 判断当前变量的类型, "number", "string", "table", "function" 或者 "userdata".

  • unpack(table) - 解压一个表.返回当前表中的所有值.

  • xpcall(func, err) - 返回一个布尔值指示成功执行的函数以及调用失败的错误信息.另外运行函数或者错误的返回值

数学函数

这些表函数同样可以参考Lua函数库(他们都是以math.开头, 详情参阅数学库了解更多信息).

三角函数是没有参考的, 包括角度->弧度的转换.暴雪的版本使用角度.而Lua的标准数学库则使用的弧度.

  • abs(value) - 返回当前数值的绝对值

  • acos(value) - 返回此角度值的弧余弦值.

  • asin(value) - 返回此角度值的弧正弦值

  • atan(value) - 返回此角度值的弧正切值

  • atan2(y, x) - 在角度中, 返回Y/X的弧正切值.

  • ceil(value) - 返回一个整数, 不管小数点后面是多少, 整数部分都进1

  • cos(degrees) - 返回角度的余弦值

  • deg(radians) - 弧度转换角度

  • exp(value) - 返回此值的指数值

  • floor(value) - 返回此值的整数值

  • frexp(num) - 返回当前数字小数点后的数值以及小数点后的位数

  • ldexp(value, 倍数) - 输出此数值的倍数

  • log(value) - 返回此值的自然对数 (以e为底数)

  • log10(value) - 返回以10为底数的值

  • max(value[, values...]) - 在一堆值中查找最大值

  • min(value[,values...]) - 在一堆值中查找最小值

  • mod(value,modulus) - 返回此值的余数

  • rad(degrees) - 角度转换弧度

  • random([ [lower,] upper]) - 返回一个随机数字 (可选界限为整数值)

  • randomseed(seed) - 为伪随机数字生成器设定种子

  • sin(degrees) - 返回当前角度的正弦值

  • sqrt(value) - 返回数值的平方根值(比如100的平方根为10)

  • tan(degrees) - 返回当前角度的正切值

字符串库

这些表函数同样可以参考Lua字符串库(他们都是以string.开头, 参考字符串库了解更多信息)

  • format(formatstring[, value[, ...]]) - 格式化字符串

  • gsub(string,pattern,replacement[, limitCount]) - 全局替换

  • strbyte(string[, index]) - 转换字符串为整数值(可以指定某个字符).

  • strchar(asciiCode[, ...]) - 转换整数为相对应的字符

  • strfind(string, pattern[, initpos[, plain]]) - 在一个指定的目标字符串中搜索指定的内容(第三个参数为索引),返回其具体位置.

  • strlen(string) - 返回当前字符串的字符数

  • strlower(string) - 将字符串的字母转换为小写格式

  • strmatch(string, pattern[, initpos]) - 与strfind不同的是,macth返回的是具体值,而find返回的是此值的位置

  • strrep(seed,count) - 返回一个字符串种子副本的个数

  • strsub(string, index[, endIndex]) - 返回字符串指定位置的值.

  • strupper(string) - 将字符串的字母转为大写格式

  • tonumber(arg[, base]) - 若参数能转为数字则返回一个数值.可以指定转换的类型.默认为十进制整数

  • tostring(arg) - 转换参数为字符串

下面的字符串函数是wow独有的

  • strtrim(string) - 去除字符串前后空格

  • strsplit(delimiter, string) - 分割字符串

  • strjoin(delimiter, string, string[, ...]) - 根据定界符将字符串连接起来

表函数

这些表函数同样可以参考Lua表库 (他们都是以"table.开头", 查阅Table库 f了解更多信息).

也知道, 很多表都被设计为只有数字索引, 开始于1并且没有结尾(如like {[1] = "foo", [3] = "bar"} --- [2]是不存在的所以为nil值).工作时,与任何其他表并没有差别,但很可能会产生意想不到的结果. 在编写lua中, 这个也就是通常所说的bug

  • foreach(table,function) - 为表中的每个元素执行函数

  • foreachi(table,function) - 为表中的每个元素执行函数, 按顺序访问(不推荐, 可以使用ipairs代替)

  • getn(table) - 当作为一个聊表时, 返回当前表的大小. 现在已经废弃了, 你可以直接使用#符号.使用#(table)代替table.getn(table)

  • ipairs(table) - 返回一个迭代型整数遍历表。

  • pairs(table) - 返回一个迭代遍历表

  • sort(table[, comp]) - 对一个数组进行排序, 还可以指定一个可选的次序函数

  • tinsert(table[, pos], value) - 将一个元素插入指定的位置(默认在表的最后)

  • tremove(table[, pos]) - 删除指定位置的元素(默认表最后一个)

Bit Functions

魔兽世界包含了Lua BitLib库(他们都是以 "bit."开头). 与C的位运算相同.位运算库并非Lua标准函数库的一部分, 但是在WoW 1.9中得到了应用

Lua是一个脚本语言, 使用这些函数来对你的数据结构进行比对是十分慢的. 除非你有一个非常大的数据库以及需要保护的RAM使用, 保存你的信息到几个或个别的变量中.

lua库函数的更多相关文章

  1. Hook lua库函数时遇到的问题

    最近在为distri.lua实现一个lua调试系统,有一个简单的需求,lua导入一个文件的时候,将这个文件的文件名记录下来, 以方便调试器在设置断点的时候判断是否一个合法的文件. lua导入文件是通过 ...

  2. wireshark lua脚本

    1.目的:解析rssp2协议   2.如何使用wireshark lua插件 将编写的(假设为rssp2.lua)lua文本,放入wireshark 安装目录下,放哪里都行只要dofile添加了路径. ...

  3. Lua中的常用函数库汇总

    lua库函数 这些函数都是Lua编程语言的一部分, 点击这里了解更多. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调 ...

  4. [转]LUA C 互调

    组件工厂 ------3D游戏研发 LUA和C之间的函数调用 1.1 从C程序调用LUA函数 LUA的函数和普通变量一样也是First Class Variable类型,可以看作函数指针变量参与栈操作 ...

  5. lua简洁的功能(两)

    Lua中的函数带有词法定界的第一类值. 第一类值: 在Lua中,函数和其它值(数值,字符串)一样,函数能够被存放在变量中,也存放在表中, 能够作为函数的參数,还能够作为函数的返回值. 词法定界:被嵌套 ...

  6. 如何在Lua与C/C++之间实现table数据的交换

    之前在<C/C++和Lua是如何进行通信的?>一文中简单的介绍了lua与宿主之间的通信.简单的说两种不同的语言之间数据类型不一样又如何进行数据交换呢?那就是lua_State虚拟栈,通过栈 ...

  7. Lua 5.3 参考手册

    转自:http://www.runoob.com/manual/lua53doc/manual.html 1 – 简介 Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设 ...

  8. lua的函数初识

    学习到Lua的函数.认为有必要记下来. 參考教程:Programming in Lua 函数能够以表达式或陈述语句出现,例如以下所看到的: print(8*9, 9/8) a = math.sin(3 ...

  9. Lua 学习之基础篇二<Lua 数据类型以及函数库 汇总>

    引言 前面讲了运算符,这里主要对Lua的数据处理相关的数据类型和函数库进行总结归纳,后面会再接着单独分开讲解具体使用. 首先因为Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值. 值可以存储 ...

随机推荐

  1. Android Studio使用第三方类库

    导入*.jar包 新建好了Android项目,添加一个第三方已经打包好的jar文件进你项目,下面就已添加一个odata4j的一个包 在项目中添加一个libs文件 直接通过COPY/PAST 把你下载的 ...

  2. 解决Eclipse建Maven项目module无法转换为2.3

    Maven项目在Project Facets里面修改Dynamic web module为2.3的时候就会出现Cannot change version of project facet Dynami ...

  3. JQ学习(二)

    jQuery 效果 jQuery hide() 和 show() 语法: $(selector).hide(speed,callback); $(selector).show(speed,callba ...

  4. poj1611 并查集 (路径不压缩)

    http://poj.org/problem?id=1611 题目大意: 有一个学校,有N个学生,编号为0-N-1,现在0号学生感染了非典,凡是和0在一个社团的人就会感染,并且这些人如果还参加了别的社 ...

  5. json时间格式化问题

    function jsonDateFormat(jsonDate) {//json日期格式转换为正常格式 try { var date = new Date(parseInt(jsonDate.rep ...

  6. BIT LA 4329 Ping pong

    题目传送门 题意:训练指南P197 分析:枚举裁判的位置,用树状数组来得知前面比它小的和大的以及后面比它小的和大的,然后O (n)累加小 * 大 + 大 * 小 就可以了 #include <b ...

  7. iOS socket TCP UDP

    TCP: 服务器: #import <Foundation/Foundation.h> #include <sys/socket.h> #include <netinet ...

  8. java获取日期

    /* * 获取昨天日期 方法一,这个方法好像有点慢 */Date dt = new Date(); Calendar cal = Calendar.getInstance();cal.add(Cale ...

  9. BZOJ4624 : 农场种植

    设$A[i][j]=[a[i][j]=G],B[i][j]=[b[i][j]=L]$,枚举右下角,则对应$(A-B)^2$的和就是匹配成功的格子数. $(a-b)^2=a^2+b^2-2ab$,将矩阵 ...

  10. ACM: 畅通工程-并查集-解题报告

    畅通工程 Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 某省调查城镇交通状况 ...