lua基礎部分(變量,數據類型, 運算符, 語句)

這裏重點總結一下lua基礎,幾個簡單的點,記錄下來,方便之後查看,不是很詳細,稍微歸納了一下。也但願能夠幫到lua初學者。數組

Lua簡介:函數

Lua腳本能夠很容易的被C/C++代碼調用,也能夠反過來調用C/C++的 函數,這使得Lua在應用程序中能夠被普遍應用。不只僅做爲擴展腳本, 也能夠做爲普通的配置文件,代替XML,ini等文件格式,而且更容易理解 和維護。lua

Lua由標準C編寫而成,代碼簡潔優美,幾乎在全部操做系統和平臺上 均可以編譯,運行。一個完整的Lua解釋器不過200k,在目前全部腳本引 擎中,Lua的速度是最快的。這一切 都決定了Lua是做爲嵌入式腳本的最 佳選擇。spa

 

1、變量操作系統

lua中變量的命名規則和C語言中同樣:字母數字下劃線,不能以數字開頭,區分大小寫,不能是關鍵字。(這估計都順嘴就出來了)code

變量的賦值規則和C語言,C++裏不是很同樣,須要注意如下兩點:blog

若是變量的個數小於值的個數,用nil補充。(下面的數據類型中會詳細介紹)索引

若是變量的個數大於值的個數,則多餘的值則將被忽略。ip

Lua中的變量也分爲全局變量和局部變量
開發

全局變量:a = 5;

局部變量:local a = 5;

2、數據類型

lua中的數據類型和C語言中的數據類型不太同樣,C語言中有多種數據類型,好比數字就有int,short,long,float,double還有枚舉類型等等好多,可是在Lua語言裏,數據類型只有八種:number, string, nil, bool, function, table, userdate, thread (userdate和thread在開發中不經常使用,因此下面就不作過多介紹了)

number:指任意實數。包括了 int,short,long,float,double。。。並且number若是有小數,除不盡的狀況下,不僅是精確到小數點後八位。

string:這個和C#裏有必定區別,在C#裏,對一個字符串從新賦值,是從新複製一塊空間,進行賦值,原字符串所佔空間不銷燬。可是在Lua裏面,就是直接在這塊空間上改寫字符串的內容。

數字和字符串之間的轉換

將數字轉換成字符串,能夠強轉,用tostring(),或者隱式轉換(10 .. "Mumu"),須要注意,數字後面必須有空格,否則系統就默認第一個點爲小數點

字符串轉換爲數字,用tonumber(),可是必定要保證字符串是純數字,否則編譯錯誤,(不能經過ascll碼轉換)。

nil:相似於C中的null,也能夠用來對變量的刪除操做

bool:這個和其餘語言也有很大不同,C語言中是0或者false爲假,其他都爲真,而在Lua語言裏面,只有nil或者false爲假,其他爲真,包括0,這個概念必定要記住,不要和其餘語言混淆。

 function:方法,使用function須要注意,必須先聲明,後調用,不然報錯。並且能夠有多個返回值。

table:表,至關於數組、字典、列表...以鍵值對形式存儲,索引值從一開始遞增一

和數組同樣,有兩種初始化方式:

方式一:先定義一個空表,而後初始化。

tab = { },

tab[1] = "Mumu"

tab["age"] = "15"

方式二:定義的同時初始化

tab = {"Mumu",age = 15}

遍歷輸出表中元素

這時有兩種遍歷方式。第一種:

for i,v in ipairs(tab) do
    print(i,v)
end

輸出結果爲

1    Mumo
[Finished in 0.1s]

第二種:

for k,v in pairs(tab) do
    print(k,v)
end

輸出結果爲:

1    Mumo
name    15
[Finished in 0.1s]

由此能夠看出,ipairs只能遍歷索引爲整數的元素,pairs能夠遍歷表中全部元素。

3、運算符

Lua中的運算符有,算術運算符,關係運算符,邏輯運算符

算術運算符:+ - * / = % ...

關係運算符:> < >= <= == ~= (Lua中的不等因而~=)

邏輯運算符:and or not (至關於C語言中的&& || !)

and:當表達式一位真的時候 返回表達式二的值,當表達式一爲假的時候,返回表達式一的值

or:當表達式一爲真的時候,返回表達式一的值,當表達式一爲假的時候,返回表達式二的值

not:取反,值爲true或者false

4、語句

語句分爲:

賦值語句,條件語句(沒有switch),循環語句

條件語句:if ... then end   

循環語句: for ... do ... end    while ... do ... end      repeat... until....end

相關文章
相關標籤/搜索