lua相關知識筆記

2021-09-11 00:18:06 字數 4111 閱讀 1054

print("hellow world!!!")

--[[

--變數宣告直接宣告並賦值

id=1

age=23

name="逆天大神:"

***=true

print(age,name)

print(age +id)--會列印相加後的值

print("20"+"152")--對於數字型別的字串會相加後列印 172

if id==1 then

print("id為1")

elseif id==0 then --elseif 不能分開寫,且後邊必須有then,並且要再開乙個else分支

print("id==0")

else

print("id未知")

endindex=0

while index<=10 do

index =index+1 --無法使用+= -=等操作

end--先執行**,類似於c#的 do while

repeat

print (index)

index =index -1

until index<=0

print (index)

--求0-10之間偶數的和

sum=0

repeat

if(index%2==0) then

sum =sum +index

endindex =index +1

until index >10

print("repeat--->",sum)

--for 迴圈

for index =1,10 do

print ("for-->",index)

end--方法函式

function sum(num1,num2)

return num1+num2

endprint("sum--->",sum(1,3))

print("mathf-->",math.abs(-1))

print ("mathf-->",math.max(12,21))

print("random---",math.random())

--字串

name="nitaindasen"

print(string.lower(name))

print(string.sub(name,1,4)) --lua 的索引都是從1開始的

--tabale

--從第乙個沒有key的值,預設key=1,依次類推所有的沒有指定key值的值

mytable={}

mytable[1]=0

mytable["xaiosen"]="suai"

print("mytable--->",mytable["xaiosen"])

print(mytable.xaiosen)

mytable=

print("陣列形式的索引--->",mytable[1])

print(table.getn(mytable))

for index=1,table.getn(mytable) do

print(mytable[index])

endprint(table.concat(mytable)) --講表中資料連線成字串

print (table.insert(mytable,2,90))

print ("insert--->",table .concat(mytable))

--實現物件導向

people={}

people.name="小森"

people.***=1

people.money=1000000

local this=people

people.eat=function()

print(people.name,"吃飯了")

endfunction people.play()

print ("玩了")

this.eat()

endpeople.play()

--宣告為local後是區域性方法

local function funcname(arg1,arg2)

print ("引數為--->",arg1,arg2)

return arg1+arg2,arg1

endprint("輸出方法返回值--->", funcname(12,23)) --輸出方法返回值---> 35 12

--函式可以作為資料賦值,也可以作為引數傳遞

temp=funcname

print (temp(23,24))--47 23

myprint=function (arg2) --此處為匿名函式

print ("mypriint引數——————>",arg2)

endmyprint(432)

function arg(argfunc) --函式可以作為引數

print (argfunc(1,2));

endarg(funcname)

--可變引數 (個數) ...

function test(...)

-- print (arg) --arg 是內建的,會吧引數封裝成乙個表 最後乙個值是個數

--print(arg[1])--第乙個引數.

local arg=--自定義,是不帶個數的

res=0;

for k,v in pairs(arg) do --key ,value

res =res +v;

print(res)

--#arg 獲取個數 #""獲取字串的長度

print(#arg)

endendtest(1,2)

--test(12,13,14)

]]--

--運算子

--[[

a=10

b=20

print ("運算子-->+",a+b)

print ("-",a-b)

print("x",a*b)

print("/",a/b)

print(a==b)

print (a>b)

print (a~=b) --a不等於b

print (a<0 or b>0)--and or not

print (not true)

print ("hellow".."world")--字串的拼接

print (#"hellow")--6#獲取字串的長度

tab=

print (#tab)--5

tab=nil

tab=

print (#tab)--3

tab .key=43

tab.key2="adf"

print (#tab)--3

]]--

--[[

--轉義字元 \n 換行 \r 回車 \\ 代表乙個\ \" 代表"

a="hellow\n world"

print(a)

print ("姓名: \"小森 \"")--姓名: "小森 "

--陣列

array=

for i=1 ,2 do

print(array[i]) --索引從1開始

endfor i=-2,2 do --for迴圈可以為負值索引

array[i]=i

endfor i=-2,2 do

print (array[i])

endarray=,,}

for i=1,3 do

for j=1,2 do

array[i][j]=i*j

print (array[i][j])

endend]]--

--迭代器 pairs就是迭代器,迭代table

--ipairs按照索引從1開始,擲遇到nil停止 適合陣列

--pairs ipairs返回兩個值,乙個key乙個value

array=

for k,v in pairs(array) do

print (k,v)

endfor i,j in ipairs(array) do

print("ipars",array[i])

end

lua相關知識點筆記

require,用於載入檔案,會搜尋環境變數lua path設定的路徑,同時能判斷檔案是否已經載入來避免重複載入。比較奇特的是路徑的設定,與一般的路徑完全不同,其實就是用?當佔位符,然後require filename的時候,用filename代替這些文號,比如 lua c windows usr ...

lua相關的小知識

1.輕量級 一標準的c語言編寫原發開放,編譯後僅僅100k,占用記憶體小 2.擴充套件性 lua提供了非常已於使用的擴充套件口和機制 3.支援面向過程程式設計和函式式程式設計 nil boolean number string userdata function thread和table 其中 lu...

android相關知識筆記

android 布局優化簡述 影響應用的卡頓的四種場景 ui繪製 應用啟動 頁面跳轉 時間響應 其中由兩種根本原因導致 介面繪製 主要是繪製的層級深 頁面複雜 重新整理不合理。導致卡頓的場景出現在ui和啟動後的初始頁面以及跳轉到頁面的繪製上。資料處理 原因是資料處理量太大,分為三年中情況,1 資料處...