在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. 

WoW API中的Lua注意在WoWAPI没有提供所有标准的Lua函数, 很显然, 操作系统以及文件I/O库是不支持的 

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使用, 保存你的信息到几个或个别的变量中. 笔记•所有的字符都有他们的元表设置到全局字符串表, 因此一些字符串函数可以直接写在冒号前面进行调用:
切换行号显示
1 local s = string.format(input, arg1, arg2, ...)
2
3 -- 可以写成这样
4 local s = input:format(arg1, arg2, ...) -- input将作为第一个参数, 复制到代码上, 这就是冒号语法
•这同样可以使用在字符串上, "%d":format(arg1)不是有效的lua代码,你可以写成 切换行号显示
1 ("%d"):format(arg1)
•自从使用字符串表, 一些函数放在字符串表里也是同样可以工作的, 下面的例子是有效的:
切换行号显示
1 function string.print(a)
2 return print(a)
3 end
4 ("test"):print()
虽然你应尽量避免填充字符串表与你的函数。 相关资源你还可以参阅Lua了解更多Lua开发资料.

lua函数随记的更多相关文章

  1. C中调用Lua函数

    我们先来看一个简单的例子: lua_State* L = NULL; // 内部调用lua函数 double f(double x, double y) { double z; lua_getglob ...

  2. Lua函数之二

    Lua函数之二 Lua中函数的两个重要特性: 1.函数和其他类型(如number.string)一样,可以存放在变量中,也可以存放在table中,可以作为函数的参数,还可以作为函数的返回值. 2.嵌套 ...

  3. Lua函数之一

    LUA函数之一 函数声明: function foo(arguments) statements end 1.函数调用 调用函数的时候,如果参数列表为空,必须使用()表明是函数调用,例如: os.da ...

  4. 一些LUA函数(转载)

    转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363 一些LUA函数 1.assert (v [, message]) 功能:相当 ...

  5. C语言调用Lua函数

    记得上学时,初中英文课本中,上网叫做surfing the internet,中文叫网上冲浪. 那个时期,人们常常称互联网为赛博空间.现在工作了,大量的零碎时间用于上微博,知乎,QQ.这些碎片化的阅读 ...

  6. C模块回调Lua函数的两种方法

    作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ...

  7. Lua函数以及闭合函数的理解

    Lua函数以及闭合函数的理解 来源 http://blog.csdn.net/mydad353193052/article/details/48731467 词法域和第一类型 在C/C++,C#或者J ...

  8. Lua 函数参数 & 默认实参

    [1]Lua函数,默认实参 习惯了其他语言(如C++)的默认实参,利用Lua语言的过程中,发现没有默认实参这种机制. 所以,自己模拟了一个满足业务需求的带默认实参的函数. (1)示例如下: local ...

  9. Lua函数[转]

    在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...

随机推荐

  1. ECMAScript 6之Set和Map数据结构

    Set 基本用法 ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. var s = new Set(); [2, ...

  2. 《java入门第一季》之HashSet小案例:获取10个1至20的随机数,要求随机数不能重复

    这是基于HashSet集合的唯一性. /*  * 编写一个程序,获取10个1至20的随机数,要求随机数不能重复.  *   * 分析:  * A:创建随机数对象  * B:创建一个HashSet集合 ...

  3. FND Debug Log(FND_LOG_MESSAGES)

    之前每个模块记录日志的方式都不同,都会把日志写到不同的文件中,对于User来说很麻烦,需要记住很多的配置,现在越来越多的模块使用FND Logging来存储日志,比如WIP,RCV,OAF...FND ...

  4. MySQL创建视图和Union all的使用案例

     CREATE VIEW netcheck.cpu_mp AS (SELECT  cpu.ID AS id,  cpu.chanel_name AS chanel_name,  cpu.first ...

  5. ADO.NET之Parameter属性

    在ADO.NET中, public SqlParameterCollection Parameters {get;}会得到一个SqlParameter属性.下面通过一个例子进行详细的认识吧. //例如 ...

  6. iOS中 图文混排/自定义图文混排 作者:韩俊强

    指示根视图:(准备几张图片,把label加载在window上) CustomLable *label = [[CustomLable alloc]initWithFrame:CGRectMake(0, ...

  7. Uva - 514 - Rails

    C是一个栈,每次先检查A的第一个元素是否满足,如果满足,直接进入B:再检查C中栈顶元素是否满足,如果满足,出栈进入B:前两步都不满足将A放入C栈中.循环到B满或者A,C中都不满足条件并且A空,第一种情 ...

  8. Dynamics CRM 给视图配置安全角色

    CRM2011后给表单设置了安全角色,可以配置实体表单给不同的安全角色查看,但视图的权限始终没有开放配置,这里介绍个工具可以实现这种配置. 先奉上2011/2013版本的工具地址(2015/2016见 ...

  9. Windows Server2012R2 添加Microsoft .NET Framework 3.5 功能失败的解决方法

    最近部署了一台Windows Server2012R2的虚机,在安装sharepoint foundation 2013之前安装必备的组件的时候安装到一半报错了没有安装成功,后来发现原来是系统的.NE ...

  10. “XcodeGhost”病毒之后,苹果更应注…

    虽然大家都在期待中秋假期的到来,不过让开发者挺闹心的一件事就是这几天网上.朋友圈以及各种群中炒得沸沸扬扬的"XcodeGhost"病毒事件,就连央视也惊动了!! 事件起源 事件起源 ...