-
assert(value) - 检查一个值是否为非nil,若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息
-
collectgarbage() - 垃圾收集器. (新增于1.10.1)
-
error("error message",level) - 发生错误时,输出一条定义的错误信息.使用pcall() (见下面)捕捉错误.
-
getmetatable(obj,mtable) - 获取当前的元表或者用户数据对象.
-
loadstring("Lua code") - 分析字符串中的lua代码块并且将结果作为一个函数返回
-
select(index,list) - 返回选择此列表中的商品数值.或者是此件物品在列表中的索引值
-
setmetatable(obj,mtable) - 设置当前表的元表或者用户数据对象
-
type(var) - 判断当前变量的类型,"number","string","table","function" 或者 "userdata".
-
xpcall(func,err) - 返回一个布尔值指示成功执行的函数以及调用失败的错误信息.另外运行函数或者错误的返回值
数学函数
这些表函数同样可以参考Lua函数库(他们都是以math.开头,详情参阅数学库了解更多信息).
三角函数是没有参考的,包括角度->弧度的转换.暴雪的版本使用角度.而Lua的标准数学库则使用的弧度.
-
abs(value) - 返回当前数值的绝对值
-
acos(value) - 返回此角度值的弧余弦值.
-
asin(value) - 返回此角度值的弧正弦值
-
atan(value) - 返回此角度值的弧正切值
-
atan2(y,x) - 在角度中,返回Y/X的弧正切值.
-
exp(value) - 返回此值的指数值
-
floor(value) - 返回此值的整数值
-
frexp(num) - 返回当前数字小数点后的数值以及小数点后的位数
-
log(value) - 返回此值的自然对数 (以e为底数)
-
log10(value) - 返回以10为底数的值
-
max(value[,values...]) - 在一堆值中查找最大值
-
min(value[,values...]) - 在一堆值中查找最小值
-
mod(value,modulus) - 返回此值的余数
-
randomseed(seed) - 为伪随机数字生成器设定种子
-
sqrt(value) - 返回数值的平方根值(比如100的平方根为10)
字符串库
这些表函数同样可以参考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,initpos]) - 与strfind不同的是,macth返回的是具体值,而find返回的是此值的位置
-
strupper(string) - 将字符串的字母转为大写格式
-
tostring(arg) - 转换参数为字符串
下面的字符串函数是wow独有的
表函数
这些表函数同样可以参考Lua表库 (他们都是以"table.开头",查阅Table库 f了解更多信息).
也知道,很多表都被设计为只有数字索引,开始于1并且没有结尾(如like {[1] = "foo",[3] = "bar"} --- [2]是不存在的所以为nil值).工作时,与任何其他表并没有差别,但很可能会产生意想不到的结果. 在编写lua中,这个也就是通常所说的bug
-
foreachi(table,function) - 为表中的每个元素执行函数,按顺序访问(不推荐,可以使用ipairs代替)
-
getn(table) - 当作为一个聊表时,返回当前表的大小. 现在已经废弃了,你可以直接使用#符号.使用#(table)代替table.getn(table)
Bit Functions
魔兽世界包含了Lua BitLib库(他们都是以 "bit."开头). 与C的位运算相同.位运算库并非Lua标准函数库的一部分,但是在WoW 1.9中得到了应用
-
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使用,保存你的信息到几个或个别的变量中.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。