Lua變量類型簡(jiǎn)明總結(jié)
在上一節(jié)中說(shuō)到了Lua的安裝與變量,這節(jié)說(shuō)說(shuō)Lua變量的類型。Lua在使用中不需要預(yù)先定義變量的類型。Lua中基本的類型有:nil、boolean、number、string、userdata、function、thread、table??梢允褂胻ype函數(shù)來(lái)判斷變量的類型。
1. nil
nil是一個(gè)特殊的類型,用來(lái)表示該變量還沒(méi)有被賦值,如果一個(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ù)。沒(méi)有整數(shù)類型。
4. string
在Lua中字符串是不可修改的。string和其他對(duì)象一樣,Lua自動(dòng)進(jìn)行內(nèi)存的分配和釋放。
Lua字符串可以小到一個(gè)字符,也可以包含百萬(wàn)字符以上。
可以使用單引號(hào)或者雙引號(hào)表示字符串,還可以使用[[...]]來(lái)表示字符串。
對(duì)于字符串中含有引號(hào)的字符可以使用\來(lái)進(jìn)行轉(zhuǎn)義。
Lua特殊字符串如下:
\a 響鈴 \v 垂直制表符 \b 退格 \\ 反斜杠
\f 換頁(yè)符 \" 雙引號(hào) \n 換行符 \' 單引號(hào)
\r 換行符 \[ 左方括號(hào) \t 制表符 \] 右方括號(hào)
..在Lua中是字符串連接符。當(dāng)在一個(gè)數(shù)字后面寫..時(shí),必須加上空格,否則出錯(cuò)。
Lua會(huì)根據(jù)上下文在合理的情況下,對(duì)數(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 只能通過(guò)構(gòu)造式來(lái)創(chuàng)建。
> tab = { web = "chabaoo.cn", QQ = 39514058, 20, a = 30, b = 40, 50 }
> tab2 = { 'web' = "chabaoo.cn", QQ = 39514058, 20, a = 30, b = 40, 50 }
stdin:1: '}' expected near '='
> print(tab["web"])
chabaoo.cn
> print(tab[web])
nil
> print(tab[1])
20
> print(tab[2])
50
> print(tab[3])
nil
注釋:
6.1 table 中的每項(xiàng)要求是 key = value 的形式。 省略key時(shí),會(huì)自動(dòng)以1開(kāi)始編號(hào),并跳過(guò)設(shè)置過(guò)的key。
6.2 key 只能是字符串, 這里的 web, QQ, a, b 都是字符串,但是不能加上引號(hào), 否則出錯(cuò)。
6.3 通過(guò) key 來(lái)訪問(wèn) table 的值,這時(shí)候,必須加上引號(hào)。
- Lua中的變量類型與語(yǔ)句學(xué)習(xí)總結(jié)
- Lua中的變量和流控制入門學(xué)習(xí)
- 詳解Lua中的變量相關(guān)知識(shí)點(diǎn)
- Lua教程(十): 全局變量和非全局的環(huán)境
- Lua判斷變量是否為數(shù)字、字符串是否可以轉(zhuǎn)換為數(shù)字等
- Lua中創(chuàng)建全局變量的小技巧(禁止未預(yù)期的全局變量)
- C語(yǔ)言中通過(guò)LUA API訪問(wèn)LUA腳本變量的簡(jiǎn)單例子
- Lua中的全局變量、非全局變量總結(jié)
- Lua中全局變量與非全局環(huán)境介紹
- Lua中的變量與賦值方法
相關(guān)文章
C調(diào)用lua函數(shù)需要考慮的問(wèn)題
這篇文章主要介紹了C調(diào)用lua函數(shù)需要考慮的問(wèn)題,本文羅列了4條需要注意的問(wèn)題,并給出了調(diào)用實(shí)例,需要的朋友可以參考下2015-04-04
用sysbench來(lái)測(cè)試MySQL的性能的教程
這篇文章主要介紹了用sysbench來(lái)測(cè)試MySQL的性能的教程,使用Lua腳本操作,需要的朋友可以參考下2015-04-04
Lua函數(shù)與字符串處理簡(jiǎn)明總結(jié)
這篇文章主要介紹了Lua函數(shù)與字符串處理簡(jiǎn)明總結(jié),本文總結(jié)了單一參數(shù)、多個(gè)參數(shù)、可變參數(shù)、函數(shù)返回值及字符串處理等內(nèi)容,需要的朋友可以參考下2014-10-10

