Lua學習之路(十) Lua 陣列

2021-08-20 11:16:07 字數 1594 閱讀 4663

陣列,就是相同資料型別的元素按一定順序排列的集合,可以是一維陣列和多維陣列。

lua 陣列的索引鍵值可以使用整數表示,陣列的大小不是固定的。

一維陣列是最簡單的陣列,其邏輯結構是線性表。一維陣列可以用for迴圈出陣列中的元素,如下例項:

array 

=fori=

0,2do

print

(array[i

])end

以上**執行輸出結果為:

nil

luatutorial

正如你所看到的,我們可以使用

整數索引來訪問陣列元素,如果知道的索引沒有值則返回nil

。 在 lua 索引值是以 1 為起始,但你也可以指定 0 開始

。 除此外我們還可以以負數為陣列索引值:

array=

fori=-

2,2do

array[i

]=i*

2 end

fori=

-2,2

do print

(array[i

]) end

以上**執行輸出結果為:

-4-

2024

多維陣列即陣列中包含陣列或一維陣列的索引鍵對應乙個陣列。

以下是乙個三行三列的陣列多維陣列:

--

初始化陣列

array ={}

fori=1

,3doarray[i

]={}forj=

1,3do

array[i

][j]=

i*j

endend

--訪問陣列

fori=1

,3doforj=

1,3do

print

(array[i

][j])end

end

以上**執行輸出結果為:

123

2463

69

不同索引鍵的三行三列陣列多維陣列:

--初始化陣列

array={}

maxrows=3

maxcolumns=3

forrow=1,

maxrows

do for

col=1,

maxcolumns

do array

[row

*maxcolumns

+col]=

row*

col end

end--

訪問陣列

forrow=1,

maxrows

do for

col=1,

maxcolumns

do print

(array

[row

*maxcolumns

+col

]) end

end

以上**執行輸出結果為:

123

2463

69

正如你所看到的,以上的例項中,陣列設定了指定的索引值,這樣可以避免出現 nil 值,有利於節省記憶體空間。

啟航Lua之路

lua支援全域性變數和區域性變數的概念 全域性變數 直接定義變數名,並賦值 區域性變數 使用local關鍵字進行定義。變數命名規則 遵循c c 語言中的變數命名規則 避免定義下劃線開頭並跟著大寫字母的變數名 lua關鍵字不能用作變數名 lua中的變數使用 可以在一行中定義多個變數,盡量在定義變數時賦...

Lua基礎學習 Lua函式

函式主要用途 1 是作為呼叫語句使用。2 作為賦值語句的表示式使用。語法 區域性 全域性 function fun name 引數列表 函式體endfunction 定義函式關鍵字注意 1 在使用 lua 函式 變數時一定要先定義函式 變數 2 lua 函式不支援引數預設值,可以使用 or 解決。如...

Lua學習筆記 lua堆疊

首先了解一下c 與lua之間的通訊 假設在乙個lua檔案中有如下定義 hello.lua檔案 請注意紅色數字,代表通訊順序 1 c 想獲取lua的myname字串的值,所以它把myname放到lua堆疊 棧頂 以便lua能看到 2 lua從堆疊 棧頂 中獲取myname,此時棧頂再次變為空 3 lu...