一.数学库

  1.math.abs()   作用:取绝对值   例子:math.abs(-5)   结果:5

  2.math.ceil()   作用:向上取整   例子:math.ceil(3.4)   结果:4   math.ceil(-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:

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}

    2.table.remove()   作用:将指定位置元素删除并返回该元素,并将该位置后的所有元素前移

      参数:table:指定数组(不可省略),pos:指定位置,默认为最后一个元素的位置(可省略)

      例子:

t = {10,20,30}
        table.remove(t)   结果: {10,20}
        table.remove(t,1)   结果:{20,30}

    3.table.sort()   作用:对一个数组进行排序。还可以指定一个可选的次序函数。这个次序函数有两个参数,如果希望第一个参数在排序结果中位于第二个参数值前,就应当返回 true 。如果没有这个函数,sort 就使用默认的小于操作。

      例子:

table.sort(a,function(a,b)
	          return a > b
        end)

    4.table.concat()   作用:它接受一个数组,并返回数组元素连接后的结果

      参数:table:指定数组(不可省略),sep:连接的字符,默认空字符串 ""(可省略),start:连接的起始位置,默认为1(可省略),end:连接的终止位置,默认是 table的长度(可省略)

      注意:

        1.除了第一个参数,其他都可省略

        2.下标必须为数字,下标必须相连,默认从1开始(可通过设置 start 参数修改起始位置)

      例子:

local _arr = {
          "10",
          "20",
          "30",
          x = 1,
          [4] = "40",
          [6] = "50",
        }
        print(table.concat(_arr))   =>   "10203040"
        print(table.concat(_arr,",")   =>   "10,20,30,40"
        print(table.concat(_arr,","3)   =>   "30,40"
        print(table.concat(_arr,",",2,3)   =>   "20,30"