亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > 綜合 > 正文

Lua學(xué)習(xí)筆記之類型與值

2024-07-21 23:04:27
字體:
供稿:網(wǎng)友

基礎(chǔ)介紹

Lua是一種動(dòng)態(tài)類型的語言。在語言中沒有類型定義的語法,每個(gè)值都帶有其自身的類型信息。在Lua中有8種基本類型,分別是:

nil(空)類型

boolean(布爾)類型

number(數(shù)字)類型

string(字符串)類型

userdata(自定義類型)

function(函數(shù))類型

thread(線程)類型

table(表)類型

以上是Lua中的8中基本類型,我們可以使用type函數(shù),判斷一個(gè)值得類型,type函數(shù)返回一個(gè)對(duì)應(yīng)類型的字符串描述。例如:

local iValue = 10local fValue = 10.2local strValue = "Hello World"local funcValue = printlocal bValue = truelocal nilValue = nillocal tbValue = {}if type(iValue) == "number" then print("It is a number")endif type(fValue) == "number" then print("It is a number")endif type(strValue) == "string" then print("It is a string")endif type(funcValue) == "function" then print("It is a function")endif type(bValue) == "boolean" then print("It is a boolean")endif type(nilValue) == "nil" then print("It is a nil")endif type(tbValue) == "table" then print("It is a table")endnil(空)

nil是一種類型,它只有一個(gè)值nil。一個(gè)全局變量在第一次賦值前的默認(rèn)值就是nil,將nil賦予一個(gè)全局變量等同于刪除它。Lua將nil用于表示一種“無效值”的情況,即沒有任何有效值得情況。

boolean(布爾)

boolean類型有兩個(gè)可選值:false和true。一定需要注意的是,在Lua中只有false和nil是“假”的,而除此之外的都是“真”,這和其它語言有所區(qū)別的。我之前有一個(gè)同事,就吃過這個(gè)虧。

number(數(shù)字)

number類型用于表示雙精度浮點(diǎn)數(shù)。Lua沒有整數(shù)類型,而Lua中的數(shù)字可以表示任何32位整數(shù)。

string(字符串)

Lua中的字符串通常表示“一個(gè)字符序列”。Lua完全采用8位編碼。Lua的字符串是不可變的值。不能像C語言中那樣直接修改字符串的某個(gè)字符,而是應(yīng)該根據(jù)修改要求來創(chuàng)建一個(gè)新的字符串。Lua的字符串和其它對(duì)象都是自動(dòng)內(nèi)存管理機(jī)制所管理的對(duì)象,不需要擔(dān)心字符串的內(nèi)存分配和釋放。在Lua中,字符串可以高效的處理長字符串。當(dāng)字符串是多行存在時(shí),可以使用“[[]]”符號(hào)來界定一個(gè)多行字符串,同時(shí),Lua不會(huì)解釋其中的轉(zhuǎn)義序列。例如:

local page = [[<html xmlns="http://www.w3.org/1999/xhtml"><head><title>xxxx</title></head><body></body></html>]]print(page)

table(表)

table類型實(shí)現(xiàn)了關(guān)聯(lián)數(shù)組,關(guān)聯(lián)數(shù)組是一種具有特殊索引方式的數(shù)組;不僅可以通過整數(shù)來索引它,還可以使用字符串或其它類型的值(除了nil)來索引它。此外,table沒有固定的大小,可以動(dòng)態(tài)得添加任意數(shù)量的元素到一個(gè)table中。

在Lua中,table既不是“值”,也不是“變量”,而是對(duì)象??梢詫able想象成一種動(dòng)態(tài)分配的對(duì)象,程序中僅僅有一個(gè)隊(duì)它們的引用(指針)。table的創(chuàng)建是通過“構(gòu)造表達(dá)式”完成的,最簡單的構(gòu)造表達(dá)式就是{}。

table永遠(yuǎn)是匿名的,一個(gè)引用table的變量與table自身之間沒有固定的關(guān)聯(lián)性,例如以下代碼:

local a = {} -- 創(chuàng)建一個(gè)table,并將它的引用存儲(chǔ)在aa["x"] = 10local b = a -- b與a引用同一個(gè)tableprint(b["x"])b["x"] = 20print(a["x"])b = nil -- 現(xiàn)在只有a還在引用table-- 錯(cuò)誤:print(b["x"])print(a["x"])a = nil -- 現(xiàn)在不存在對(duì)table的引用

當(dāng)對(duì)一個(gè)table的引用為0時(shí),Lua的垃圾收集器最終會(huì)刪除該table,并釋放它所占用的內(nèi)存空間。當(dāng)table的某個(gè)元素沒有初始化時(shí),它的內(nèi)容就是nil;另外還可以像全局變量一樣,將nil賦予table的某個(gè)元素來刪除該元素。

在Lua中,對(duì)于a["name"]這種形式的寫法提供了一種更簡便的寫法,可以直接輸入a.name。先看看以下代碼:

local a = {} -- 創(chuàng)建一個(gè)table,并將它的引用存儲(chǔ)在aa["x"] = 10local b = a -- b與a引用同一個(gè)tableprint(b["x"])b["x"] = 20print(a["x"])b = nil -- 現(xiàn)在只有a還在引用table-- 錯(cuò)誤:print(b["x"])print(a["x"])a = nil -- 現(xiàn)在不存在對(duì)table的引用

這種寫法本身提供了簡便性,但是有的時(shí)候,卻給程序員帶來了困惑;我就常常會(huì)把a(bǔ).x和a[x]搞錯(cuò),a.x表示a["x"],表示以字符串”x”來索引table;而a[x]是以變量x的值來索引table。通過下面這段代碼,來看看它們之間的區(qū)別:

local a = {}a["name"] = 10print(a.name) -- 等價(jià)于print(a["name"])

在Lua 5.1中,長度操作符“#”用于返回一個(gè)數(shù)組或線性表的最后一個(gè)索引值。在實(shí)際項(xiàng)目中,我們經(jīng)常使用該操作符來獲取數(shù)組或線性表的長度。但是使用該操作符是存在陷阱的,比如下面一段代碼:

local a = {}x= "y"a[x] = 10print(a[x]) -->10 相當(dāng)于a["y"]print(a.x)  -->nil 相當(dāng)于a["x"]print(a.y)  -->10 相當(dāng)于a["y"]

這該輸出多少呢?

在Lua中,對(duì)于所有未初始化的元素的索引結(jié)果都是nil。Lua將nil作為界定數(shù)組結(jié)尾的標(biāo)志。當(dāng)一個(gè)數(shù)組有“空隙”時(shí),即中間含有nil時(shí),長度操作符會(huì)認(rèn)為這些nil元素就是結(jié)尾標(biāo)記。因?yàn)閍[1] = nil,所以,對(duì)于上述代碼的輸出應(yīng)該是0。所以,在處理table的時(shí)候,需要考慮這個(gè)問題。那么對(duì)于含有nil的table,如何獲取它的長度呢?我們可以使用table.maxn,它將返回一個(gè)table的最大正索引數(shù),如下所示:

local a = {}a[1000] = 1print(table.maxn(a)) -->1000

function(函數(shù))

在Lua中,函數(shù)被當(dāng)做值來對(duì)待,這表示函數(shù)可以存儲(chǔ)在變量中,可以通過參數(shù)傳遞給其它函數(shù),還可以作為其它函數(shù)的返回值。Lua既可以調(diào)用自身Lua語言編寫的函數(shù),又可以調(diào)用以C語言編寫的函數(shù)。Lua所有的標(biāo)準(zhǔn)庫都是用C語言寫的。我在之后,還會(huì)詳細(xì)的總結(jié)Lua中的函數(shù)的。在這里就說這么多。

userdata(自定義類型)和thread(線程)

userdata用于表示一種由應(yīng)用程序或C語言庫所創(chuàng)建的新類型。由于userdata類型可以將任意的C語言數(shù)據(jù)存儲(chǔ)到Lua變量中。在Lua中,這種類型沒有太多的預(yù)定義操作,只能進(jìn)行賦值和相等性測試。

thread主要用于“協(xié)同程序”。

總結(jié)

這篇基本就是Lua基本類型的掃盲文章,希望對(duì)大家有點(diǎn)用。

以上所述就是本文的全部內(nèi)容了,希望能夠?qū)Υ蠹覍W(xué)習(xí)lua語言有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩中文字幕精品| 九七影院97影院理论片免费| 日本成人a视频| 九九在线精品| 欧美精品入口蜜桃| 欧美日本黄色| av电影在线免费| 成人影音在线| 丰满少妇被猛烈进入一区二区| 亚洲综合色站| jlzzjlzz亚洲女人| 欧美性色欧美a在线播放| 成人在线不卡| 伊人精品影院| 狠狠操第一页| 国产农村妇女精品久久| 欧美一级免费大片| 凹凸日日摸日日碰夜夜| 国产精品久久久久久免费| 亚洲精品国产成人| 欧美激情论坛| 极品少妇xxxx偷拍精品少妇| 色多多国产成人永久免费网站| 欧美日韩国产在线播放网站| 久久亚洲二区三区| 国产chinese中国hdxxxx| 亚洲欧洲在线播放| 国产精品日韩欧美一区| 91国产精品电影| 亚洲av无码一区二区三区网址| 欧美猛男男办公室激情| 欧美日韩爱爱视频| 色综合久久久久久久久五月| 中文国产成人精品| 中文字幕亚洲综合久久菠萝蜜| 免费一级大片| 成人永久免费视频| 高清视频在线观看一区| 97人人爽人人喊人人模波多| 悠悠资源网久久精品| 91精品久久久久久久久久不卡| 亚洲av午夜精品一区二区三区| 精品国语对白精品自拍视| 九九综合九九| 日本一区二区高清不卡| 丁香啪啪综合成人亚洲| 欧美成人精品欧美一级乱| 欧美国产不卡| 美女一区2区| 欧美一区二区在线播放| 黄色免费的网站| 大j8黑人w巨大888a片| 国产亚洲情侣一区二区无| 亚洲精品日韩一| 亚洲xxxx做受欧美| 国产亚洲欧美日韩在线一区| 久久嫩草精品久久久精品一| 欧洲亚洲免费在线| 日韩一二三区| 最近免费中文字幕mv视频| 久久综合久久美利坚合众国| 日韩av在线导航| 国产红桃视频| 337p日本欧洲亚洲大胆张筱雨| 成人黄色a**站在线观看| 一色道久久88加勒比一| 欧美高清自拍一区| 先锋影音av中文字幕| 91精品在线免费| 国产 福利 在线| 久久丫精品忘忧草西安产品| 国产精品萝li| 日本亚洲天堂| 懂色av中文一区二区三区| 欧美亚一区二区三区| 国产精品黄色在线观看| 久久在线视频精品| 成人毛片免费| 国产日韩欧美精品| 99热这里只有精品99| 99精品中文字幕在线不卡| 国产欧美日韩一区二区三区四区| 欧美成人综合网站| 国产视频中文字幕| 777国产偷窥盗摄精品视频| 久久av中文字幕| 国产黄片一区二区三区| 丝袜美腿一区二区三区| 国产精品美女无圣光视频| 日韩精品一区二区三区中文| 国产黄在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 国产黄色大片免费看| 成视人a免费观看视频| 亚洲精品一区久久久久久| 精品中文字幕在线播放| 久久久精品视频在线| 精品精品国产国产自在线| 国产婷婷色一区二区三区在线| 成人福利视频导航| 狠狠躁狠狠躁视频专区| 亚洲瘦老头同性70tv| 国产精品久久久久一区二区三区厕所| 欧美影院久久久| 中文字幕在线字幕中文| 日本在线视频www| 亚洲精品久久一区二区三区777| 日韩小视频在线观看| 91黄色8090| 欧美国产成人精品一区二区三区| 美女在线不卡| 最新中文字幕一区| 国产精品爱久久久久久久小说| 国产一区二区在线免费| 五月天久久比比资源色| 国产又黄又猛又爽| 激情五月宗合网| 日韩一二三在线视频播| 亚洲精品视频一二三区| 日韩极品精品视频免费观看| 日韩片在线观看| 国产欧美一区二区在线观看| 艳母动漫在线免费观看| 在线中文字幕日韩| 黄色一级视频免费| 国产精品第四页| 国产女优一区| av中文在线资源| 中文字幕先锋av影音资源网| 毛片视频免费| 精品国精品自拍自在线| 国产欧美一区二区三区久久人妖| 久久精品1区| 欧美黄色三级| 中文字幕高清20页| 在线不卡日本v二区707| 成人免费电影网址| 日本精品一区二区在线观看| 色综合久久av| 久久99精品一区二区三区| 久久久精品一区二区毛片免费看| av在线免费网址| 国产黄视频在线| 成人国产精品日本在线| 激情久久综合网| www国产亚洲精品久久麻豆| 久久精品电影一区二区| 国产最新精品| 99精品视频一区二区| 欧美成人官网二区| 99电影网电视剧在线观看| 久久精品人人爽| 精品日产一区2区三区黄免费| 久久伊人精品视频| 欧美人成在线观看网站高清| 日本福利午夜视频在线| 亚洲一区有码| 国产欧美综合视频| 8mav模特福利视频在线观看| 国产麻豆久久| 成人精品天堂一区二区三区| 国产情侣一区二区三区| 亚洲精品一区二三区| 欧美videos大乳护士334| 亚洲亚洲人成综合网络| 亚欧洲精品视频在线观看| 91国产丝袜在线放| 久久亚洲影院| 在线观看欧美亚洲| 国产黄色三级网站| 日本一区二区成人在线| 操人视频在线观看欧美| 一区二区三区视频在线观看免费| 91久久精品日日躁夜夜躁国产| 日韩欧美高清dvd碟片| 精品国产九九九| 日本一二三区在线| 欧美第一在线视频| 亚洲国产成人午夜在线一区| 日韩精彩视频在线观看| 五月开心六月丁香综合色啪| 欧美国产精品专区| 国产一区二区三区中文| 国产999精品久久久| av在线不卡免费观看| 青青操国产视频| 日韩一级精品| 在线观看av网| 久久99久久99精品蜜柚传媒| 777午夜精品视频在线播放| av激情成人网| 亚洲成人手机在线| 一本一道久久a久久| 久久久久亚洲AV| 久久久久久久波多野高潮日日| 国产成人综合网站| 日韩成人av在线播放| 九色porny丨精品自拍视频| 亚洲女成人图区| caoporm超碰国产精品| 国产精品久久久久久成人| 欧美最猛性xxxxx(亚洲精品)| 国产免费电影网站入口| 中文字幕在线中文字幕在线中三区| www.丝袜精品| 深夜国产在线播放| 亚洲精品中文字幕无码蜜桃| 91精品视频免费在线观看| 精品国产乱码久久久久软件| 国产一区二区三区四区五区美女| 日本一区二区三区在线不卡| 26uuu另类亚洲欧美日本一| 欧美xxx黑人xxx水蜜桃| 手机在线免费观看毛片| 狼人天天伊人久久| 日本成人一区二区三区| 青青草97国产精品免费观看| 182tv在线播放| gogogo高清在线观看一区二区| 国产精品久久久免费观看| jizzjizz16| 欧美日韩国产一区二区在线观看| 女教师淫辱の教室蜜臀av软件| 婷婷激情综合| 中文字幕人妻丝袜乱一区三区| 少妇喷水在线观看| 国产精品视频福利一区二区| 最新国产精品拍自在线播放| 免费拍拍拍网站| 国产精品久久婷婷六月丁香| 操她视频在线观看| 91精品久久久久久久| 中文字幕一区在线播放| 免费在线欧美黄色| 中国老太性bbbxxxx| 日本高清一二三区| 91免费日韩| 欧美成人一区二区三区片免费| 99t1这里只有精品| 亚洲国产精品久久网午夜小说| 色吧影院999| 涩爱av色老久久精品偷偷鲁| 久久久免费精品| 日韩一区二区三区av| 久久综合99| 日韩欧美国产黄色| 亚洲自拍第二页| 亚洲一区二区三区高清视频| 色综合久久av| 亚洲精品一区中文| 日本亚洲精品在线观看| 97免费在线视频| 伊人久久成人网| 久久久久久国产| 国产精品久久久久婷婷二区次| 亚洲福利影院| 一区二区视频在线观看免费的| 日本泡妞xxxx免费视频软件| 色吊丝在线永久观看最新版本| 欧美精品一区二区三区视频| luxu259在线中文字幕| 色小说视频一区| 91精品国产高清91久久久久久| 日韩成人精品视频在线观看| 亚洲电影免费观看高清完整版在线观看| 在线观看日韩一区| 国产成人精品亚洲午夜麻豆| 青青草精品在线视频| 在线观看一区视频| 欧美在线综合| 男人天堂久久| 精品国产高清a毛片无毒不卡| 精品人妻一区二区免费| eeuss影院eeuss最新直达| 97久久综合区小说区图片区| 久久久久久网| 在线成人动漫av| 美女免费黄色| 日韩黄色一级片| 俄罗斯女人裸体性做爰| 久青青在线观看视频国产| 东京热加勒比无码少妇| 国产精品自产拍在线观看中文| 成人一区在线看| 欧美二区三区| 一区中文字幕电影| a√免费观看在线网址www| 日本wwwwwwwzzzzz视频| 国产精品日韩三级| 新天堂中文资源官网在线观看| 国产一区第一页| 福利视频在线| 日韩久久一区二区三区| 亚洲女同av| 日韩视频免费播放| 欧美日韩视频专区在线播放| av网站大全免费| 国产精品一区在线看| 91在线视频成人| 欧美精品综合| 日韩深夜视频| 中文字幕色呦呦| 蜜臀国产一区二区三区在线播放| 国产一区二区黑人欧美xxxx| 午夜精品小视频| 不卡专区在线| 日韩手机在线导航| a天堂资源在线观看| 玖玖精品视频| 男男做爰猛烈叫床爽爽小说| 神马电影网我不卡| 日本欧美色图| 亚洲精品一级二级三级| 亚洲黄色大片| 伊人色综合久久久| 免费看日韩毛片| 麻豆精品一区| 中日韩美女免费视频网址在线观看| 一级毛片高清视频| 1069视频| 日本aⅴ亚洲精品中文乱码| 婷婷久久综合九色国产成人| 国产精品xxx在线观看www| 97超碰国产精品女人人人爽| 小鲜肉gaygays免费动漫| 好吊色视频一区二区| 自拍偷拍第八页| 国模私拍国内精品国内av|