柚子快報(bào)邀請碼778899分享:開發(fā)語言 Lua 學(xué)習(xí)
柚子快報(bào)邀請碼778899分享:開發(fā)語言 Lua 學(xué)習(xí)
參照
注釋
-- 這是單行注釋
--[[
這是多行注釋
--]]
if語句
if true then
print(true)
end
if else語句
nil是false
if nil then
print("nil被當(dāng)作true處理")
else
print("nil被當(dāng)作false處理")
end
運(yùn)算符
% 取余 ^ 乘冪 A=10,A^2=100 // 整除運(yùn)算符(>=lua5.3)
~= 不等于 and 與 or 或 not 邏輯非 A=true,B=false -》 not(A and B) 則為true
字符串
單行
string1 = "this is string1"
string2 = 'this is string2'
字符串多行 2 個(gè)方括號 “[[]]” 來表示"一塊"字符串
html = [[
]]
字符串連接使用…,而不是+,+在lua里是運(yùn)算符
print("2".."6") --輸出為26
print("2"+"6") --輸出為8 +號會(huì)嘗試將字符串轉(zhuǎn)為number再進(jìn)行運(yùn)算
print("2"+"6a") --輸出會(huì)報(bào)異常
使用 # 來計(jì)算字符串的長度,放在字符串前面
len = "www.runoob.com"
print(#len) --輸出為14
print(#"siki學(xué)院") --輸出為8 一個(gè)中文字符占兩個(gè)長度
循環(huán) while
while(true)
do
print("循環(huán)將永遠(yuǎn)執(zhí)行下去")
end
表 table
1.類似c#的字典用法
tab1={} --空表 {}構(gòu)造表達(dá)式
print(tab1) --table:00A89600 輸出的是存儲(chǔ)地址
print(tab1.key1) --nil
tab2={key1=100,key2=“value2”} --初始化一張表
print(tab2.key1) --100
print(tab2["key1"]) --100
--table的數(shù)據(jù)添加 table不會(huì)固定長度大小
tab1.key1="www.sikiedu.com"
tab1["key2"]="siki"
tab1[10]=1000
print(tab1["key1"]) --輸出www.sikiedu.com
print(tab1.key1) --輸出www.sikiedu.com
print(tab1.key2) --輸出siki
print(tan1[10]) --輸出1000
2.類型c#的數(shù)組寫法 lua使用索引的地方是從1開始,而不是0
tab3={"apple","pear","orange","grape"} --默認(rèn)key為1,2,3,4
print(tab3[2]) --輸出pear lua的索引從1開始,而不是0
函數(shù) function
c#里的函數(shù)(階乘)
int fact(int n){
if(n==1)
return n;
else
return n*fact(n-1);
}
lua函數(shù)寫法 function開始,end結(jié)束
function fact(n)
if n==1
return n;
else
return n*fact(n-1);
end
end
print(fact(3)); --輸出6
fact2=fact; --把函數(shù)fact賦給fact2
print(fact2(3)); --輸出6
把函數(shù)作為參數(shù)傳遞(類似c#的委托,但lua沒有委托)
function testFun(tab fun)
for k,v in pairs(tab) do
fun(k,v)
end
end
tab={key1="val1",key2="val2"}
function f1(k,v)
print(k..":"..v)
end
testFun(tab,f1) --輸出 key1:val1 key2:val2
function f2(k,v)
print(k.." "..v)
end
testFun(tab,f2) --輸出 key1 val1 key2 val2
--匿名函數(shù) (不用寫函數(shù)名)
--輸出 key1-val1 key2-val2
testFun(tab,
function (k,v)
print(k.."-"..v)
end
)
柚子快報(bào)邀請碼778899分享:開發(fā)語言 Lua 學(xué)習(xí)
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。