lua函数

来源:互联网 发布:网络丢包测试软件 编辑:程序博客网 时间:2024/06/02 05:11
  1. 在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数.   
  2.   
  3. WoW API中的Lua注意在WoWAPI没有提供所有标准的Lua函数, 很显然, 操作系统以及文件I/O库是不支持的   
  4.   
  5. Lua函数这些函数都是Lua编程语言的一部分, 点击这里了解更多.   
  6. •assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息   
  7. •collectgarbage() - 垃圾收集器. (新增于1.10.1)   
  8. •date(format, time) - 返回当前用户机器上的时间.   
  9. •error("error message",level) - 发生错误时,输出一条定义的错误信息.使用pcall() (见下面)捕捉错误.   
  10. •gcinfo() - 返回使用中插件内存的占用量(kb)以及当前垃圾收集器的使用量(kB).   
  11. •getfenv(function or integer) - 返回此表已获取函数的堆栈结构或者堆栈等级   
  12. •getmetatable(obj, mtable) - 获取当前的元表或者用户数据对象.   
  13. •loadstring("Lua code") - 分析字符串中的lua代码块并且将结果作为一个函数返回   
  14. •next(table, index) - 返回下一个key,一对表值.允许遍历整个表   
  15. •pcall(func, arg1, arg2, ...) - 受保护调用. 执行函数内容,同时捕获所有的异常和错误.   
  16. •select(index, list) - 返回选择此列表中的商品数值.或者是此件物品在列表中的索引值   
  17. •setfenv(function or integer, table) - 设置此表已获取函数的堆栈结构或者堆栈等级   
  18. •setmetatable(obj, mtable) - 设置当前表的元表或者用户数据对象   
  19. •time(table) - 返回从一个unix时间值   
  20. •type(var) - 判断当前变量的类型, "number""string""table""function" 或者 "userdata".   
  21. •unpack(table) - 解压一个表.返回当前表中的所有值.   
  22. •xpcall(func, err) - 返回一个布尔值指示成功执行的函数以及调用失败的错误信息.另外运行函数或者错误的返回值   
  23.   
  24. 数学函数这些表函数同样可以参考Lua函数库(他们都是以math.开头, 详情参阅数学库了解更多信息).   
  25. 三角函数是没有参考的, 包括角度->弧度的转换.暴雪的版本使用角度.而Lua的标准数学库则使用的弧度.   
  26. •abs(value) - 返回当前数值的绝对值   
  27. •acos(value) - 返回此角度值的弧余弦值.   
  28. •asin(value) - 返回此角度值的弧正弦值   
  29. •atan(value) - 返回此角度值的弧正切值   
  30. •atan2(y, x) - 在角度中, 返回Y/X的弧正切值.   
  31. •ceil(value) - 返回一个整数, 不管小数点后面是多少, 整数部分都进1   
  32. •cos(degrees) - 返回角度的余弦值   
  33. •deg(radians) - 弧度转换角度   
  34. •exp(value) - 返回此值的指数值   
  35. •floor(value) - 返回此值的整数值   
  36. •frexp(num) - 返回当前数字小数点后的数值以及小数点后的位数   
  37. •ldexp(value, 倍数) - 输出此数值的倍数   
  38. •log(value) - 返回此值的自然对数 (以e为底数)   
  39. •log10(value) - 返回以10为底数的值   
  40. •max(value[, values...]) - 在一堆值中查找最大值   
  41. •min(value[,values...]) - 在一堆值中查找最小值   
  42. •mod(value,modulus) - 返回此值的余数   
  43. •rad(degrees) - 角度转换弧度   
  44. •random([ [lower,] upper]) - 返回一个随机数字 (可选界限为整数值)   
  45. •randomseed(seed) - 为伪随机数字生成器设定种子   
  46. •sin(degrees) - 返回当前角度的正弦值   
  47. •sqrt(value) - 返回数值的平方根值(比如100的平方根为10)   
  48. •tan(degrees) - 返回当前角度的正切值   
  49.   
  50. 字符串库这些表函数同样可以参考Lua字符串库(他们都是以string.开头, 参考字符串库了解更多信息)   
  51. •format(formatstring[, value[, ...]]) - 格式化字符串   
  52. •gsub(string,pattern,replacement[, limitCount]) - 全局替换   
  53. •strbyte(string[, index]) - 转换字符串为整数值(可以指定某个字符).   
  54. •strchar(asciiCode[, ...]) - 转换整数为相对应的字符   
  55. •strfind(string, pattern[, initpos[, plain]]) - 在一个指定的目标字符串中搜索指定的内容(第三个参数为索引),返回其具体位置.   
  56. •strlen(string) - 返回当前字符串的字符数   
  57. •strlower(string) - 将字符串的字母转换为小写格式   
  58. •strmatch(string, pattern[, initpos]) - 与strfind不同的是,macth返回的是具体值,而find返回的是此值的位置   
  59. •strrep(seed,count) - 返回一个字符串种子副本的个数   
  60. •strsub(string, index[, endIndex]) - 返回字符串指定位置的值.   
  61. •strupper(string) - 将字符串的字母转为大写格式   
  62. •tonumber(arg[, base]) - 若参数能转为数字则返回一个数值.可以指定转换的类型.默认为十进制整数   
  63. •tostring(arg) - 转换参数为字符串   
  64. 下面的字符串函数是wow独有的   
  65. •strtrim(string) - 去除字符串前后空格   
  66. •strsplit(delimiter, string) - 分割字符串   
  67. •strjoin(delimiter, string, string[, ...]) - 根据定界符将字符串连接起来   
  68.   
  69. 表函数这些表函数同样可以参考Lua表库 (他们都是以"table.开头", 查阅Table库 f了解更多信息).   
  70. 也知道, 很多表都被设计为只有数字索引, 开始于1并且没有结尾(如like {[1] = "foo", [3] = "bar"} --- [2]是不存在的所以为nil值).工作时,与任何其他表并没有差别,但很可能会产生意想不到的结果. 在编写lua中, 这个也就是通常所说的bug   
  71. •foreach(table,function) - 为表中的每个元素执行函数   
  72. •foreachi(table,function) - 为表中的每个元素执行函数, 按顺序访问(不推荐, 可以使用ipairs代替)   
  73. •getn(table) - 当作为一个聊表时, 返回当前表的大小. 现在已经废弃了, 你可以直接使用#符号.使用#(table)代替table.getn(table)   
  74. •ipairs(table) - 返回一个迭代型整数遍历表。   
  75. •pairs(table) - 返回一个迭代遍历表   
  76. •sort(table[, comp]) - 对一个数组进行排序, 还可以指定一个可选的次序函数   
  77. •tinsert(table[, pos], value) - 将一个元素插入指定的位置(默认在表的最后)   
  78. •tremove(table[, pos]) - 删除指定位置的元素(默认表最后一个)   
  79.   
  80. Bit Functions魔兽世界包含了Lua BitLib库(他们都是以 "bit."开头). 与C的位运算相同.位运算库并非Lua标准函数库的一部分, 但是在WoW 1.9中得到了应用   
  81. •bit.bnot(a) - 返回一个a的补充   
  82. •bit.band(w1,...) - 返回w的位与   
  83. •bit.bor(w1,...) - 返回w的位或   
  84. •bit.bxor(w1,...) - 返回w的位异或   
  85. •bit.lshift(a,b) - 返回a向左偏移到b位   
  86. •bit.rshift(a,b) - 返回a逻辑右偏移到b位   
  87. •bit.arshift(a,b) - 返回a算术偏移到b位   
  88. •bit.mod(a,b) - 返回a除以b的整数余数   
  89. Lua是一个脚本语言, 使用这些函数来对你的数据结构进行比对是十分慢的. 除非你有一个非常大的数据库以及需要保护的RAM使用, 保存你的信息到几个或个别的变量中.   
  90.   
  91. 笔记•所有的字符都有他们的元表设置到全局字符串表, 因此一些字符串函数可以直接写在冒号前面进行调用:   
  92. 切换行号显示   
  93.    1 local s = string.format(input, arg1, arg2, ...)  
  94.    2   
  95.    3 -- 可以写成这样  
  96.    4 local s = input:format(arg1, arg2, ...)  -- input将作为第一个参数, 复制到代码上, 这就是冒号语法  
  97. •这同样可以使用在字符串上, "%d":format(arg1)不是有效的lua代码,你可以写成   
  98.   
  99. 切换行号显示   
  100.    1 ("%d"):format(arg1)  
  101. •自从使用字符串表, 一些函数放在字符串表里也是同样可以工作的, 下面的例子是有效的:   
  102. 切换行号显示   
  103.    1 function string.print(a)  
  104.    2  return print(a)  
  105.    3 end  
  106.    4 ("test"):print()  
  107. 虽然你应尽量避免填充字符串表与你的函数。   
  108.   
  109. 相关资源你还可以参阅Lua了解更多Lua开发资料.   
原创粉丝点击