遊戲指令碼LUA訓練營:LUA知識總結(一)

2020-08-08 23:44:15

1.lua是一個大小寫敏感的語言

2.字串可以用’'引起也可以用""

3.單行註釋:-- 多行註釋:–[[…]]

4.lua中的八種數據型別:nil,boolean,number,string,userdata,thread,table,function

	nil:表達一個無效值(比如定義但未賦值的變數),在條件表達式中相當於false
	boolean:nil跟false判斷爲假,其餘爲真,0和' '也爲真
	number:雙精度型別的浮點數
	userdata:任意儲存在變數中的c數據結構
	string: d=string.gsub(a,b,c):將字串a中的b子字串替換爲c然後賦值給d

5.自動轉換:
使用+時,string會轉變爲數位:
print(「100」+「100」)—> 輸出200

print(「100」+100)—> 輸出200

使用…將數位變爲字串並連線字串:
print(‘hello ‘… 1 …’ world’)
在这里插入图片描述

		注意:必須在數位後面新增空格防止被解釋錯

6.全域性變數與區域性變數;
全域性變數不需要特別宣告,區域性變數使用 local宣告
使用區域性變數的好處:避免命名衝突,存取區域性變數比存取全域性變數更快。

7.邏輯運算子:
and:邏輯與操作符:a and b:若a爲false則返回a,否則返回b。
or:邏輯或操作符:a or b:若a爲true則返回a,否則返回b。
not:與邏輯預算結果相反。

8.table的構建遍歷
local table={2,‘a’,‘bipeng’}

遍歷:
for k,v in pairs(table) do
print(k,v)
end

9.table取長度操作符:#

10.賦值語句:
多重賦值時:
當變數個數>值的個數 按變數個數補nil
當變數個數<值的個數 按變數的個數忽略值

lua會先計算=右邊的值再賦值
交換值:x,y=y,x

10.控制結構語句:

if…else語句:

if conditions then 
......
else if conditions then
....
else
...
end

while…do語句:

while conditions do
.....
end

repeat…until:
repeat

until conditions

for語句:

	控制的是區域性變數
	回圈過程中不能修改控制變量的值

數值for回圈:
for var=exp1,exp2,exp3 do

end

	exp3可以忽略,預設爲1
	三個表達式只能在回圈開始前觸發一次;可以是函數返回值

泛型for回圈:
for k,v in pairs(t) do

end