LUA学习笔记(第18-20章)
发布时间:2020-12-14 21:55:43 所属栏目:大数据 来源:网络整理
导读:数学库 print(math.pi)--π print(math.huge)--Lua中表示的最大数字 --[[ 3.1415926535898 1.#INF ]] print(math.rad(90))--转换成弧度 print(math.deg(math.pi))--转换成角度 math.random()用于生成伪随机数 不带参数,它将返回【0,1]内均匀分布的伪随机实
数学库print(math.pi)-->π --[[ 3.1415926535898 ]] print(math.rad(90))-->转换成弧度 math.random()用于生成伪随机数 不带参数,它将返回【0,1]内均匀分布的伪随机实数 带参数n(整数),它将返回【1,n】内均匀分布的伪随机整数 带参数m,n(整数),它将返回【m,n】内均匀分布的伪随机整数 math.randomseed用于设置伪随机数生成器的种子数 math.randomseed(os.time()) math.randomseed(os.time()) for i=1,5 do print(math.random(6)) end table库
table是Lua中唯一的数据结构。
初始化与打印输出
arr = {} for i=1,10 do arr[i] = i * 10 end print("the length of arr is " .. #arr) for i,v in ipairs(arr) do print("arr[" .. i .. "] = " .. v) end插入
table.insert(数组,[位置],数据)
位置是可选的,不选择则插在数组末尾
当然在数组起始或中间插入,不是一个好的选择
删除
table.remove(数组,[位置])删除数组指定位置上的元素
位置同样是可选的,没有位置则从尾部删除。
连接
table.concat(数组,[分隔符],[起始位置],[终止位置])
arr = {} for i=1,10 do arr[#arr + 1] = i * 10 end print(table.concat(arr," : ",1,10))遍历嵌套数组 function printer(arr) if type(arr) ~= "table" then print(arr) return end for i=1,#arr do printer(arr[i]) end end s = {{"a","nice"},"and",{"long"},{"day"}} --printer(s) printer(s) function printer(arr) if type(arr) ~= "table" then return arr end local res = {} for i=1,#arr do res[i] = printer(arr[i]) end return table.concat(res," ") end local s = {{"a",{"day"}} print(printer(s))排序 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |