數(shù)組是有序的對象的裝置,它可以是包含含有多個(gè)行和列的行或多維陣列的集合的單個(gè)二維數(shù)組。
在Lua中,數(shù)組是使用索引表與整數(shù)實(shí)現(xiàn)的。數(shù)組的大小是不固定的,它可以增長基于我們需要受存儲(chǔ)器限制。
一維數(shù)組
一維數(shù)組可以用一個(gè)簡單的表結(jié)構(gòu)來表示,可以初始化,使用一個(gè)簡單的for循環(huán)讀取。如下例子所示。
for i= 0, 2 do
print(array[i])
end
當(dāng)我們運(yùn)行上面的代碼之后,將得到下面的輸出。
正如在上面的代碼中看到,當(dāng)我們試圖訪問索引中是不存在的數(shù)組中的元素,則返回nil。在Lua索引通常開始于索引1,但有可能在索引0和小于0,以及創(chuàng)建對象。顯示使用負(fù)索引數(shù)組下面我們初始化使用for循環(huán)數(shù)組。
for i= -2, 2 do
array[i] = i *2
end
for i = -2,2 do
print(array[i])
end
當(dāng)我們運(yùn)行上面的代碼之后,將得到下面的輸出。
多維數(shù)組
多維數(shù)組可以用兩種方式來實(shí)現(xiàn)。
對于3,3多維陣列如下所示使用數(shù)組的數(shù)組的例子。
-- Accessing the array
for i=1,3 do
for j=1,3 do
print(array[i][j])
end
end
當(dāng)我們運(yùn)行上面的代碼之后,將得到下面的輸出。
對于3,3多維陣列的例子如下所示使用操作索引。
-- Accessing the array
for row=1,maxRows do
for col=1,maxColumns do
print(array[row*maxColumns +col])
end
end
當(dāng)我們運(yùn)行上面的代碼之后,將得到下面的輸出。
正如在上面的例子中看到的,數(shù)據(jù)是基于索引儲(chǔ)存的。也能夠?qū)⒃匾韵∈璧姆绞?,它是一個(gè)矩陣的工作方式lua的實(shí)現(xiàn)。因?yàn)樗槐4嬖贚ua零值,就可以節(jié)省大量的內(nèi)存,在Lua中任何特殊的技術(shù)相比其他編程語言中使用特殊技術(shù)。
標(biāo)簽:宣城 臺(tái)灣 金昌 天門 天門 濰坊 儋州 德宏
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Lua中的數(shù)組概念知識(shí)》,本文關(guān)鍵詞 詳解,Lua,中的,數(shù)組,概念,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。上一篇:Lua中操作字符串的基本方法整理
下一篇:淺析Lua中的迭代器