婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Lua學(xué)習(xí)筆記之類型與值

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

熱門標(biāo)簽:漳州智云呼電話機(jī)器人 個人怎么在地圖標(biāo)注需要的店鋪 冀州市地圖標(biāo)注 武漢外呼防封系統(tǒng)多少錢 百度地圖標(biāo)注早餐區(qū)域 新岸線智能電銷機(jī)器人 清朝地圖標(biāo)注哈爾濱 怎么去除地圖標(biāo)注 地圖標(biāo)注大廈

基礎(chǔ)介紹

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

nil(空)類型

boolean(布爾)類型

number(數(shù)字)類型

string(字符串)類型

userdata(自定義類型)

function(函數(shù))類型

thread(線程)類型

table(表)類型

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

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

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

boolean(布爾)

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

number(數(shù)字)

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

string(字符串)

Lua中的字符串通常表示“一個字符序列”。Lua完全采用8位編碼。Lua的字符串是不可變的值。不能像C語言中那樣直接修改字符串的某個字符,而是應(yīng)該根據(jù)修改要求來創(chuàng)建一個新的字符串。Lua的字符串和其它對象都是自動內(nèi)存管理機(jī)制所管理的對象,不需要擔(dān)心字符串的內(nèi)存分配和釋放。在Lua中,字符串可以高效的處理長字符串。當(dāng)字符串是多行存在時,可以使用“[[]]”符號來界定一個多行字符串,同時,Lua不會解釋其中的轉(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沒有固定的大小,可以動態(tài)得添加任意數(shù)量的元素到一個table中。

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

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

local a = {} -- 創(chuàng)建一個table,并將它的引用存儲在a
a["x"] = 10
local b = a -- b與a引用同一個table
print(b["x"])
b["x"] = 20
print(a["x"])

b = nil -- 現(xiàn)在只有a還在引用table
-- 錯誤:print(b["x"])
print(a["x"])
a = nil -- 現(xiàn)在不存在對table的引用

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

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

local a = {} -- 創(chuàng)建一個table,并將它的引用存儲在a
a["x"] = 10
local b = a -- b與a引用同一個table
print(b["x"])
b["x"] = 20
print(a["x"])

b = nil -- 現(xiàn)在只有a還在引用table
-- 錯誤:print(b["x"])
print(a["x"])
a = nil -- 現(xiàn)在不存在對table的引用

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

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

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

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

這該輸出多少呢?

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

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

function(函數(shù))

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

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

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

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

總結(jié)

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

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

您可能感興趣的文章:
  • Lua學(xué)習(xí)筆記之?dāng)?shù)據(jù)類型
  • Lua學(xué)習(xí)筆記之運(yùn)算符和表達(dá)式
  • Lua學(xué)習(xí)筆記之表和函數(shù)
  • Lua學(xué)習(xí)筆記之?dāng)?shù)據(jù)結(jié)構(gòu)
  • Lua基礎(chǔ)教程之表(Table)學(xué)習(xí)筆記
  • Lua基礎(chǔ)教程之賦值語句、表達(dá)式、流程控制、函數(shù)學(xué)習(xí)筆記
  • Lua入門學(xué)習(xí)筆記
  • Lua字符串庫(string庫)學(xué)習(xí)筆記
  • Lua模塊與包學(xué)習(xí)筆記
  • Lua面向?qū)ο缶幊虒W(xué)習(xí)筆記
  • Lua中的閉包學(xué)習(xí)筆記
  • Lua中的元表和元方法學(xué)習(xí)筆記
  • Lua中的table學(xué)習(xí)筆記
  • Lua 學(xué)習(xí)筆記之C API 遍歷 Table實(shí)現(xiàn)代碼
  • Lua表達(dá)式和控制結(jié)構(gòu)學(xué)習(xí)筆記

標(biāo)簽:濰坊 宣城 儋州 金昌 臺灣 德宏 天門 天門

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua學(xué)習(xí)筆記之類型與值》,本文關(guān)鍵詞  Lua,學(xué)習(xí),筆記,之,類型,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Lua學(xué)習(xí)筆記之類型與值》相關(guān)的同類信息!
  • 本頁收集關(guān)于Lua學(xué)習(xí)筆記之類型與值的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩欧美成人激情| 青青草成人在线观看| 国产黄人亚洲片| 中文字幕成人网| 国产高清久久久久| 亚洲精选一二三| 久久99精品久久久| 亚洲人成网站精品片在线观看 | 国产成人精品免费看| 国产精品情趣视频| 日韩精品一区在线观看| eeuss国产一区二区三区| 免费看精品久久片| 亚洲天堂中文字幕| 91精品国产麻豆| 色综合久久88色综合天天免费| 亚洲激情综合网| 久久久电影一区二区三区| 欧美主播一区二区三区美女| 国产1区2区3区精品美女| 国产综合久久久久久鬼色| 日本欧美久久久久免费播放网| 国产精品久久久久久久午夜片| 国产中文一区二区三区| 性欧美疯狂xxxxbbbb| 亚洲一区二区影院| 亚洲国产精品天堂| 亚洲美女屁股眼交| 午夜一区二区三区视频| 国产精品国产三级国产三级人妇 | 99久久综合狠狠综合久久| 欧美一级片在线看| 久久精工是国产品牌吗| 裸体健美xxxx欧美裸体表演| 日韩国产精品久久| 国产福利一区在线| 洋洋av久久久久久久一区| 精品一区二区三区视频| 天堂av在线一区| 老司机精品视频线观看86| 91精品在线一区二区| 天天色天天爱天天射综合| 99国产精品久久久久| 91丨九色丨蝌蚪丨老版| 在线不卡一区二区| 国产精品情趣视频| 蜜臀av在线播放一区二区三区| 国产精品羞羞答答xxdd| 色婷婷精品大视频在线蜜桃视频| 欧美日韩dvd在线观看| 国产欧美一区二区精品仙草咪 | 一区二区三区产品免费精品久久75| 亚洲精品一卡二卡| 国产高清一区日本| 欧美成人精品二区三区99精品| 亚洲欧美日韩电影| 精品一区二区三区影院在线午夜| 国产福利一区在线| 亚洲精品一区在线观看| 日韩电影免费一区| 91国产精品成人| 日本一区二区三区国色天香| 天天影视网天天综合色在线播放| 99re8在线精品视频免费播放| 亚洲在线观看免费视频| 久久99国产精品麻豆| www.日韩精品| 久久精品人人做人人爽97| 狠狠色丁香婷婷综合| 色婷婷亚洲精品| 高清成人在线观看| 99久久精品国产一区| 国产欧美一区二区精品性| 久久9热精品视频| 亚洲精品在线三区| 丁香亚洲综合激情啪啪综合| 久久影音资源网| 久久精品久久精品| 精品国精品国产尤物美女| 韩国三级在线一区| 亚洲国产高清在线观看视频| 色综合久久久久综合体| 天天射综合影视| 国产欧美一区二区三区网站| 欧美高清视频在线高清观看mv色露露十八| 日韩中文字幕av电影| 国产精品青草久久| 欧美日韩高清不卡| 成人激情免费视频| 久久精品国产秦先生| 亚洲欧美二区三区| 精品视频一区二区不卡| 日韩激情一区二区| 亚洲精品v日韩精品| 久久久久九九视频| 成人av资源在线观看| 国产精品国产三级国产aⅴ原创| 久久这里只有精品6| 欧美久久久久久久久中文字幕| av在线播放成人| 99久久精品国产导航| 97se亚洲国产综合自在线| 成人午夜激情片| 色综合激情五月| 精品国产免费久久| 精品国产一区久久| 国产精品网站在线播放| 一区二区三区四区av| 日韩成人一区二区| 成人性视频网站| 欧美中文字幕亚洲一区二区va在线| 欧美最猛黑人xxxxx猛交| 91精品蜜臀在线一区尤物| 国产亚洲欧美激情| 亚洲aⅴ怡春院| www.日韩在线| 国产日韩欧美精品在线| 日本午夜一本久久久综合| caoporen国产精品视频| 图片区小说区国产精品视频| 国产高清精品网站| 337p亚洲精品色噜噜噜| 884aa四虎影成人精品一区| 中文字幕日韩一区二区| 欧美日韩国产高清一区| 国产嫩草影院久久久久| 亚洲小少妇裸体bbw| 色偷偷成人一区二区三区91| 91精品欧美综合在线观看最新 | 国产精品国产三级国产aⅴ无密码| 青青草国产成人av片免费| 国产午夜精品一区二区三区视频| 91精品久久久久久蜜臀| 欧美va天堂va视频va在线| 成人国产精品免费观看| va亚洲va日韩不卡在线观看| 久久精品久久99精品久久| 欧美精品色一区二区三区| 日韩欧美在线综合网| 日韩欧美三级在线| 91精品国产品国语在线不卡| 亚洲欧洲成人精品av97| 中文字幕不卡在线播放| 精品亚洲aⅴ乱码一区二区三区| 精品久久国产字幕高潮| 欧美三级电影一区| 色老汉av一区二区三区| 色婷婷综合久色| 粉嫩aⅴ一区二区三区四区| 国产一区二区三区av电影| 日韩和欧美一区二区| 国产精品无人区| 亚洲久草在线视频| 午夜精品久久久久久久久久久 | 制服丝袜日韩国产| 欧美军同video69gay| 国产精品家庭影院| 亚洲一区日韩精品中文字幕| 国产揄拍国内精品对白| 人妖欧美一区二区| 美腿丝袜一区二区三区| 国产精品一区二区视频| 色综合色综合色综合色综合色综合 | 亚洲欧美日韩国产一区二区三区| 日韩视频在线一区二区| 国产精品乱码妇女bbbb| 日韩精品电影一区亚洲| 91精品啪在线观看国产60岁| 一区二区日韩电影| 日本亚洲电影天堂| 国产女人aaa级久久久级| 欧美日韩一区二区不卡| 91麻豆自制传媒国产之光| 国模少妇一区二区三区| 亚洲国产va精品久久久不卡综合| 日韩欧美资源站| 日韩一区二区麻豆国产| 欧美日韩电影一区| 在线精品视频免费播放| 91偷拍与自偷拍精品| 国产91丝袜在线18| 风间由美中文字幕在线看视频国产欧美 | 中文字幕一区二区三区视频| 日韩欧美久久久| 日韩一级免费观看| 欧美日韩高清一区二区不卡| 欧美一区二区观看视频| 精品区一区二区| 日韩欧美视频一区| 久久久亚洲午夜电影| 国产精品视频一区二区三区不卡| 中文字幕免费不卡| 亚洲四区在线观看| 亚洲理论在线观看| 一区二区三区不卡视频 | 欧美丰满少妇xxxbbb| 日韩欧美亚洲一区二区| 久久久久久久网| 亚洲美女区一区| 午夜视频久久久久久|