初学者必备文档:Lua函数学习笔记

移动开发 iOS
Lua是一个脚本语言, 利用这些函数来对你的数据构造举行比对是极其慢的. 除非你有一个极其大的数据库以及必需防御的RAM利用, 保留你的消息到几个或个别的变量中。

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值).工作时,wq.0431wq.com与任何等他表并未曾差异,但很可能会发生鬼没神出的收获. 在编写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函数学习笔记的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-23 14:01:03

LUA

2011-08-24 17:19:20

Lua源文件

2011-08-24 09:54:05

Lua字符春交互

2011-08-12 10:27:52

Objective-C对象

2011-08-17 12:03:36

Objective-C

2011-08-25 15:51:10

Lua脚本

2011-08-24 17:05:01

Lua

2011-08-05 14:16:47

Objective-C 变量 方法

2011-08-23 11:13:56

Lua

2011-08-11 10:50:08

xcode调试文件

2011-09-08 10:38:37

Widget

2011-07-26 17:55:16

iPhone Runtime

2011-08-10 16:44:56

iPhone代理设计模式

2010-05-12 17:36:44

MySQL初学者

2020-08-16 13:10:46

TensorFlow深度学习数据集

2020-09-08 19:03:41

Java代码初学者

2009-09-28 09:45:00

CCNA学习经验CCNA

2015-07-20 13:56:59

SDN

2011-08-04 18:01:07

IOS Cocoa Touc

2011-07-06 14:07:38

点赞
收藏

51CTO技术栈公众号