Lua中的常用函数库汇总
lua库函数
这些函数都是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中得到了应用
bit.bnot(a) - 返回一个a的补充
bit.band(w1,...) - 返回w的位与
bit.bor(w1,...) - 返回w的位或
bit.bxor(w1,...) - 返回w的位异或
bit.lshift(a,b) - 返回a向左偏移到b位
bit.rshift(a,b) - 返回a逻辑右偏移到b位
bit.arshift(a,b) - 返回a算术偏移到b位
bit.mod(a,b) - 返回a除以b的整数余数
Lua是一个脚本语言, 使用这些函数来对你的数据结构进行比对是十分慢的. 除非你有一个非常大的数据库以及需要保护的RAM使用, 保存你的信息到几个或个别的变量中.
Lua中的常用函数库汇总的更多相关文章
- Lua中的字符串函数库
字符串库中的一些函数是非常简单的: string.len(s) 返回字符串s的长度:string.rep(s, n) 返回重复n次字符串s的串:你使用string.rep( ...
- Lua中的table函数库
table.concat(table, sep, start, end) concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组 ...
- Lua中的常用语句结构以及函数
1.Lua中的常用语句结构介绍 --if 语句结构,如下实例: gTable = {} ] ] then ]) == gTable[] then ]) else print("unkown ...
- numpy函数库中一些常用函数的记录
##numpy函数库中一些常用函数的记录 最近才开始接触Python,python中为我们提供了大量的库,不太熟悉,因此在<机器学习实战>的学习中,对遇到的一些函数的用法进行记录. (1) ...
- PHP 常用函数库和一些实用小技巧
PHP 常用函数库和一些实用小技巧 作者: 字体:[增加 减小] 类型:转载 包括文件读取函式,文件写入函式,静态页面生成函式,目录删除函式等 文件读取函式 //文件读取函式 function ...
- PHP中的CURL函数库
PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话curl_copy_handle — 拷贝一个curl连接资源的所有内 ...
- lua堆栈操作常用函数学习二
/* ** basic stack manipulation */ LUA_API int <strong> (lua_gettop) (lua_State *L); </str ...
- cocos2d-x 2.2.0 如何在lua中注册回调函数给C++
cocos2d-x内部使用tolua进行lua绑定,但是引擎并没有提供一个通用的接口让我们可以把一个lua函数注册给C++层面的回调事件.翻看引擎的lua绑定代码,我们可以仿照引擎中的方法来做.值得吐 ...
- Mysql中的常用函数:
Mysql中的常用函数: 1.字符串函数: (1).合并字符串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//当传入的参 ...
随机推荐
- C#Winform使用扩展方法自定义富文本框(RichTextBox)字体颜色
在利用C#开发Winform应用程序的时候,我们有可能使用RichTextBox来实现实时显示应用程序日志的功能,日志又分为:一般消息,警告提示 和错误等类别.为了更好地区分不同类型的日志,我们需要使 ...
- 直接修改托管堆栈中的type object pointer(类型对象指针)
都知道.NET是一个强对象类型的框架. 那么对于对象类型又是怎么确定的呢. 最初的我简单认为数据的类型就是定义时字段的类型修饰决定的(回来发现这种观点是绝对错误的) 我们知道引用对象存储在托管堆栈中, ...
- Github上Python开发者应该关心的Repo
carbaugh/lice lice : Generate license files for your projects 一个用来为你的项目生成许可证的工具.这下可方便了,不用手工的去修改了! co ...
- 让Dapper+SqlCE支持ntext数据类型和超过4000字符的存储
使用Dapper和SqlCE进行开发的时候,如果数据库的某字段是采用的ntext数据类型,并且在这个字段存储的数据超过了4000个字符,会报如下的错误: Invalid parameter Size ...
- [BZOJ3504][CQOI2014]危桥(最大流)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3504 分析:很容易想到最大流,但如果S-a1,S-b1,a2-T,b2-T这样跑S-T最大流判 ...
- 无法加载协定为“ServiceReference1.xxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分
原因是config节点中有多个endpoint相同节点,提示按名称指示首选的终结点,说明程序不知道选那个节点. 解决办法,实例化service服务对象时,通过name值指定创建它. config文件部 ...
- Xamarin.Forms——尺寸大小(五 Dealing with sizes)
如之前所见的大量可视化元素均有自己的尺寸大小: iOS的状态栏高度为20,所以我们需要调整iOS的页面的Padding值,留出这个高度. BoxView设置它的默认宽度和高度为40. Frame的默认 ...
- MVC学习Day02
MVC中的异步请求: 方法一:使用jQuery封装的函数(例子中用的是post请求,$("#form1").serialize()讲表单中的数据序列化提交给服务端)---返回的是纯 ...
- org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER
org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER Eclipse中出现无法找到Maven包 症状:出现org.maven.ide.eclipse.MAVEN2_CL ...
- Java基础-四要素之一《抽象》(接口)
抽象的概念就是抽象出共同属性:成员变量和方法 定义抽象使用abstract关键字定义抽象类和方法 抽象类 abstract class 包含抽象方法的类,叫抽象类. 所以抽象类可以有private等多 ...