print(math.pi)-->π
print(math.huge)-->Lua中表示的最大数字
--[[
3.1415926535898
1.#INF
]]
print(math.rad(90))-->转换成弧度
print(math.deg(math.pi))-->转换成角度
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 * 10endprint("the length of arr is " .. #arr)for i,v in ipairs(arr) do print("arr[" .. i .. "] = " .. v)end
lines = {luaH_set = 10,luaH_get = 24,luaH_present = 48}for i,v in pairs(lines) do print(i,v)end
插入 table.insert(数组,[位置],数据) 位置是可选的,不选择则插在数组末尾 当然在数组起始或中间插入,不是一个好的选择
删除 table.remove(数组,[位置])删除数组指定位置上的元素 位置同样是可选的,没有位置则从尾部删除。
连接 table.concat(数组,[分隔符],[起始位置],[终止位置])
arr = {}for i=1,10 do arr[#arr + 1] = i * 10endprint(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]) endends = {{"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," ")endlocal s = {{"a",{"day"}}print(printer(s))
排序 table.sort( tablename,[sortfunction] )
sortfunction 可选。
sortfunction 有两个参数,如果希望第一个参数在排序结果中位于第二个参数面前,就应当返回true。
如果没有提供这个函数,sort就是用默认的小于 *** 作。 arr = {10,20,50,30,40}
table.sort(arr)
print(unpack(arr)) 默认从小到大排序 等价于: function sortfunction(x,y)
if x < y then
return true
else
return false
end
end
arr = {2,5,3,4}
table.sort( arr,sortfunction)
print(unpack(arr))
lua中无法对table的索引排序,只能将key保存在数组,再对数组排序。
lines = { luaH_set = 10,luaH_present = 48,}arr = {}for key in pairs(lines) do arr[#arr + 1] = keyendprint(unpack(arr))table.sort(arr)print(unpack(arr))总结
以上是内存溢出为你收集整理的LUA学习笔记(第18-20章)全部内容,希望文章能够帮你解决LUA学习笔记(第18-20章)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)