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是lua中唯一的資料結構。
初始化與列印輸出
arr = {}for i=1,10 do
arr[i] = i * 10
endprint("the length of arr is " .. #arr)
for i,v in ipairs(arr) do
print("arr[" .. i .. "] = " .. v)
end
lines =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 * 10
endprint(table.concat(arr, " : ", 1, 10))
function printer(arr)if type(arr) ~= "table" then
print(arr)
return
endfor i=1,#arr do
printer(arr[i])
endends = , "and", , }
--printer(s)
printer(s)
function printer(arr)if type(arr) ~= "table" then
return arr
endlocal res = {}
for i=1,#arr do
res[i] = printer(arr[i])
endreturn table.concat(res, " ")
endlocal s = , "and", , }
print(printer(s))
排序table.sort( tablename, [sortfunction] )
sortfunction 可選。
sortfunction 有兩個引數,如果希望第乙個引數在排序結果中位於第二個引數面前,就應當返回true。
如果沒有提供這個函式,sort就是用預設的小於操作。
arr =
table.sort(arr)
print(unpack(arr))
預設從小到大排序
等價於:
function sortfunction(x, y)
if x < y then
return true
else
return false
endend
arr =
table.sort( arr, sortfunction)
print(unpack(arr))
lua中無法對table的索引排序,只能將key儲存在陣列,再對陣列排序。
lines =arr = {}
for key in pairs(lines) do
arr[#arr + 1] = key
endprint(unpack(arr))
table.sort(arr)
print(unpack(arr))
LUA學習筆記(第5 6章)
x a or b 如果a為真則x a 如果a為假則x b print a b 任何非nil型別都會被連線為字串,輸出 多重返回值 local s,e string.find hello world wo print s e 自定義函式 function getmax arr local maxval...
《Lua程式設計》第6章 深入函式 學習筆記
在lua中,函式是一種 第一類值 first class value 它們具有特定的詞法域 lexical scoping 詞法域 函式可以潛逃在另乙個函式中,內部的函式可以訪問外部函式中的變數。它允許lua在應用各種函式式語言 functional language 中的強大程式設計技術。lua中...
學習筆記 第4章
standard 標準模式,呼叫startactivity殘生乙個例項 singletop 檢測是否已經存在乙個例項位於activitystack的頂部,如果存在就不產生新的勢力,否則呼叫newinstance產生新的勢力 singletask 在乙個新的task中產生這個勢力,以後每次呼叫都用此例...