Lua常⽤库⽅法(数学库和table库)
⼀.数学库
1.math.abs() 作⽤:取绝对值例⼦:math.abs(-5) 结果:5
il() 作⽤:向上取整例⼦:il(
3.4) 结果:4 il(-3.2) 结果:-3
3.math.floor() 作⽤:向下取整例⼦:math.floor(3.4) 结果:3 math.floor(-3.2) 结果:-4
4.math.max() 作⽤:取得参数中最⼤值例⼦:math.max(2.71,100,-98,23) 结果:23
5.math.min() 作⽤:取得参数中最⼩值例⼦:math.min(2.71,100,-98,23) 结果:-98
6.math.randomseed() 作⽤:设置随机数种⼦在使⽤math.random()函数之前必须使⽤此函数设置随机数种⼦
7.math.random() 作⽤:获取随机数
math.random() 结果:不传⼊参数,返回⼀个 [0,1) 范围内的浮点随即数
math.random(n) 结果:传⼊⼀个参数 n ,返回⼀个 [1,n] 范围内的整数
math.random(n,m) 结果:传⼊两个参数,返回⼀个 [n,m] 范围内的整数
例⼦1:
lua字符串转数组 math.randomseed(os.time())
for i=1,10,1 do
print(math.random(10))
end
例⼦2:
for i=1,10,1 do
math.randomseed(os.time())
print(math.random(10))
end
例⼦1得到了正常的随机数,例⼦2得到的是⼀系列相同的数,因为较短的时间内,这种写法的seed可以说是⼀样的(os.time()返回⼀个当前时间戳)
⼆.table库
table库是有⼀些辅助函数构成的,这些函数将 table 作为⼀个数组来操作。
1.table.insert() 作⽤:将元素插⼊到⼀个数组的指定位置。如果没有指定位置,则会将元素添加到数组末尾。
参数:table:指定数组(不可省略),pos:指定插⼊位置,默认插⼊到数组末尾(可省略),value:插⼊的值(不可省略)
注意:未指定 pos ,默认插⼊到数组末尾
例⼦:
t = {10,20,30}
table.insert(t,40) 结果: {10,20,30,40}
table.insert(t,1,40) 结果:{40,10,20,30}
ve() 作⽤:将指定位置元素删除并返回该元素,并将该位置后的所有元素前移
参数:table:指定数组(不可省略),pos:指定位置,默认为最后⼀个元素的位置(可省略)
例⼦:
t = {10,20,30}
ve(t) 结果: {10,20}
ve(t,1) 结果:{20,30}
3.table.sort() 作⽤:对⼀个数组进⾏排序。还可以指定⼀个可选的次序函数。这个次序函数有两个参数,如果希望第⼀个参数在排
序结果中位于第⼆个参数值前,就应当返回 true 。如果没有这个函数,sort 就使⽤默认的⼩于操作。
例⼦:
table.sort(a,function(a,b)
return a > b
end)
at() 作⽤:它接受⼀个数组,并返回数组元素连接后的结果。
参数:table:指定数组(不可省略),sep:连接的字符,默认空字符串 ""(可省略),start:连接的起始位置,默认为1(可省略),end:连接的终⽌位置,默认是 table的长度(可省略)
注意:
1.除了第⼀个参数,其他都可省略
2.下标必须为数字,下标必须相连,默认从1开始(可通过设置 start 参数修改起始位置)
例⼦:
local _arr = {
"10",
"20",
"30",
x = 1,
[4] = "40",
[6] = "50",
}
at(_arr)) => "10203040"
at(_arr,",") => "10,20,30,40"
at(_arr,","3) => "30,40"
at(_arr,",",2,3) => "20,30"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论