在上一節(jié)中說到了Lua的安裝與變量,這節(jié)說說Lua變量的類型。Lua在使用中不需要預(yù)先定義變量的類型。Lua中基本的類型有:nil、boolean、number、string、userdata、function、thread、table??梢允褂胻ype函數(shù)來判斷變量的類型。
1. nil
nil是一個(gè)特殊的類型,用來表示該變量還沒有被賦值,如果一個(gè)變量賦值為nil,可以刪除這個(gè)變量。
2. boolean
boolean類型的變量只有兩個(gè)值:true和false。在條件表達(dá)式中非常有用的。在控制結(jié)構(gòu)條件中只有false和nil為假,其他值都是真的。因此Lua認(rèn)為0和空字符串都為真。
3. number
number在Lua中是雙精度浮點(diǎn)數(shù)。沒有整數(shù)類型。
4. string
在Lua中字符串是不可修改的。string和其他對象一樣,Lua自動(dòng)進(jìn)行內(nèi)存的分配和釋放。
Lua字符串可以小到一個(gè)字符,也可以包含百萬字符以上。
可以使用單引號(hào)或者雙引號(hào)表示字符串,還可以使用[[...]]來表示字符串。
對于字符串中含有引號(hào)的字符可以使用/來進(jìn)行轉(zhuǎn)義。
Lua特殊字符串如下:
..在Lua中是字符串連接符。當(dāng)在一個(gè)數(shù)字后面寫..時(shí),必須加上空格,否則出錯(cuò)。
Lua會(huì)根據(jù)上下文在合理的情況下,對數(shù)字和字符串之間進(jìn)行轉(zhuǎn)換。如果需要顯示的將string轉(zhuǎn)成數(shù)字可以使用函數(shù)tonumber(),反之,可以使用tostring()將數(shù)字轉(zhuǎn)成字符串。
5. function
函數(shù)可以存儲(chǔ)在變量中,可以作為函數(shù)的參數(shù),也可以作為函數(shù)的返回值。
6. table
table在Lua中是最強(qiáng)大最重要也是最容易造成困惑的數(shù)據(jù)類型。
table 類似于 python 中的字典。table 只能通過構(gòu)造式來創(chuàng)建。
注釋:
6.1 table 中的每項(xiàng)要求是 key = value 的形式。 省略key時(shí),會(huì)自動(dòng)以1開始編號(hào),并跳過設(shè)置過的key。
6.2 key 只能是字符串, 這里的 web, QQ, a, b 都是字符串,但是不能加上引號(hào), 否則出錯(cuò)。
6.3 通過 key 來訪問 table 的值,這時(shí)候,必須加上引號(hào)。
新聞熱點(diǎn)
疑難解答
圖片精選