Lua靈活的語法注意點

2021-08-25 23:35:43 字數 2404 閱讀 1818

lua靈活的語法注意點:

1. 每個語句結尾的分號(;)是可選的,但如果同一行有多個語句最好用;分開

a = 1 b = a*2-- ugly, but valid

2. 全域性變數不需要宣告,給乙個變數賦值後即建立了這個全域性變數,訪問乙個沒有初始化的全域性變數也不會出錯,只不過得到的結果是:nil.

print(b)--> nil

3. lua中有8個基本型別分別為:nil、boolean、number、string、userdata、function、thread和table。函式type可以測試給定變數或者值的型別。

print(type("hello world"))--> string

print(type(10.4*3))--> number

print(type(print))--> function

print(type(type))--> function

print(type(true))--> boolean

print(type(nil))--> nil

print(type(type(x)))--> string

4. 在控制結構的條件中除了false和nil為假,其他值都為真。所以lua認為0和空串都是真

5. lua中字串是不可以修改的,你可以建立乙個新的變數存放你要的字串,如下:

a ="one string"

b = string.gsub(a,"one","another")-- change string parts

print(a)--> one string

print(b)--> another string

6. 可以使用單引號或者雙引號表示字串

a ="a line"

b ='another line'

7. ^ 冪運算 如n^2表示n的2次方

8. 不等於:~=

9. 連線運算子:..--兩個點

10. 陣列下標從1開始

11. 表的構造

12. lua可以對多個變數同時賦值,變數列表和值列表的各個元素用逗號分開,賦值語句右邊的值會依次賦給左邊的變數。

a, b = 10, 2*x <--> a=10; b=2*x

13. 我們可以這樣進行交換變數的值:

x, y = y, x-- swap 'x' for 'y'

a[i], a[j] = a[j], a[i]-- swap 'a[i]' for 'a[i]'

14. a. 變數個數 > 值的個數 按變數個數補足nil

b. 變數個數 < 值的個數 多餘的值會被忽略

例如:a, b, c = 0, 1

print(a,b,c) --> 0 1 nil

a, b = a+1, b+1, b+2 -- value of b+2 is ignored

print(a,b) --> 1 2

a, b, c = 0

print(a,b,c) --> 0 nil nil常見錯誤,需要為每個變數賦值

15.a, b = f()

f()返回兩個值,第乙個賦給a,第二個賦給b。

16. 應該盡可能的使用區域性變數,有兩個好處:

1.避免命名衝突

2.訪問區域性變數的速度比全域性變數更快.

17. if語句三種形式

(a)ifconditionsthen

then-part

end;

(b)ifconditionsthen

then-part

else

else-part

end;

(c)ifconditionsthen

then-part

elseifconditionsthen

elseif-part

..--->多個elseif

else

else-part

end;

18. while語句

whileconditiondo

statements;

end;

19. for語句有兩大類:

第一, 數值for迴圈:

for i=1,4 do

print(i)

end //列印4次,i從1到4

for i=4,1,-1 do

print(i)

end //i從4到1,-1是自減1?換成0會死迴圈

第二, 范型for迴圈:

revdays = {}

for i,v in ipairs(days) do

revdays[v] = i

end20. -- 返回lua出現的初始位置跟結束位置,下標從1開始

s, e = string.find("hello lua users", "lua")

print(s, e) --> 7 9

lua環境 lua語法注意點

sudo apt get install lua5.2 方法1 命令列輸入lua i進入互動程式設計介面,輸入print hello world.回車 方法2 寫lua指令碼,如helloworld.lua,檔案內容為print hello world.命令列執行命令lua helloworld.l...

LUA語言注意點歸集

tab 和 table.getn 我們修改table tab print tab 4print table.getn tab 4tab 9 10print tab 4print table.getn tab 4print tab 9 10 使用上述的兩種方法,發現返回的table元素依舊是4。為什麼...

LUA語言注意點歸集

tab 和 table.getn 我們修改table tab print tab 4print table.getn tab 4tab 9 10print tab 4print table.getn tab 4print tab 9 10 使用上述的兩種方法,發現返回的table元素依舊是4。為什麼...