詳解關于Lua腳本語法說明學習教程
關于Lua腳本語法說明學習教程是本文要介紹的內容,主要是來學習LUA的腳本語言。Lua 的語法比較簡單,學習起來也比較省力,但功能卻并不弱。
所以,我只簡單的歸納一下Lua的一些語法規則,使用起來方便好查就可以了。估計看完了,就懂得怎么寫Lua程序了。
在Lua中,一切都是變量,除了關鍵字。
1、首先是注釋
寫一個程序,總是少不了注釋的。
在Lua中,你可以使用單行注釋和多行注釋。
單行注釋中,連續兩個減號"--"表示注釋的開始,一直延續到行末為止。相當于C++語言中的"//"。
多行注釋中,由"--[["表示注釋開始,并且一直延續到"]]"為止。這種注釋相當于C語言中的""。在注釋當中,"[["和"]]"是可以嵌套的(在lua5.1中,中括號中間是可以加若干個"="號的,如 [==[ ... ]==]),見下面的字符串表示說明。
2、Lua編程
經典的"Hello world"的程序總是被用來開始介紹一種語言。在Lua中,寫一個這樣的程序很簡單:
- print("Hello world")
在Lua中,語句之間可以用分號";"隔開,也可以用空白隔開。一般來說,如果多個語句寫在同一行的話,建議總是用分號隔開。
Lua 有好幾種程序控制語句,如下圖:
注意一下,for的循環變量總是只作用于for的局部變量;當省略步進值時,for循環會使用1作為步進值。
使用break可以用來中止一個循環。
相對C語言來說,Lua有幾個地方是明顯不同的,所以面要特別注意一下:
.語句塊
語句塊在C中是用"{"和"}"括起來的,在Lua中,它是用do 和 end 括起來的。比如:
- do print("Hello") end
可以在 函數 中和 語句塊 中定局部變量。
.賦值語句
賦值語句在Lua被強化了。它可以同時給多個變量賦值。
例如:
a,b,c,d=1,2,3,4
甚至是:
a,b=b,a -- 多么方便的交換變量功能啊。
在默認情況下,變量總是認為是全局的。假如需要定義局部變量,則在第一次賦值的時候,需要用local說明。比如:
local a,b,c = 1,2,3 -- a,b,c都是局部變量
.數值運算
和C語言一樣,支持 +, -, *, /。但Lua還多了一個"^"。這表示指數乘方運算。比如2^3 結果為8, 2^4結果為16。
連接兩個字符串,可以用".."運處符。如:
- "This a " .. "string." -- 等于 "this a string"
所有這些操作符總是返回true或false。
對于Table,Function和Userdata類型的數據,只有 == 和 ~=可以用。相等表示兩個變量引用的是同一個數據。比如:
- a={1,2}
- b=a
- print(a==b, a~=b) --輸出 true, false
- a={1,2}
- b={1,2}
- print(a==b, a~=b) --輸出 false, true
.邏輯運算
and, or, not
其中,and 和 or 與C語言區別特別大。
在這里,請先記住,在Lua中,只有false和nil才計算為false,其它任何數據都計算為true,0也是true!
and 和 or的運算結果不是true和false,而是和它的兩個操作數相關。
a and b:如果a為false,則返回a;否則返回b
a or b:如果 a 為true,則返回a;否則返回b
舉幾個例子:
- print(4 and 5) --輸出 5
- print(nil and 13) --輸出 nil
- print(false and 13) --輸出 false
- print(4 or 5) --輸出 4
- print(false or 5) --輸出 5
在Lua中這是很有用的特性,也是比較令人混洧的特性。
我們可以模擬C語言中的語句:x = a? b : c,在Lua中,可以寫成:x = a and b or c。
最有用的語句是: x = x or v,它相當于:if not x then x = v end 。
.運算符優先級,從低到高順序如下圖:
3、關鍵字
關鍵字是不能做為變量的。Lua的關鍵字不多,就以下幾個:
小結:詳解關于Lua腳本語法說明學習教程的內容介紹完了,希望通過本文的學習能對你有所幫助!