雷林鵬分享:Lua 數組

  數組,就是相同數據類型的元素按必定順序排列的集合,能夠是一維數組和多維數組。數組

  Lua 數組的索引鍵值能夠使用整數表示,數組的大小不是固定的。網絡

  一維數組索引

  一維數組是最簡單的數組,其邏輯結構是線性表。一維數組能夠用for循環出數組中的元素,以下實例:內存

  array = {"Lua", "Tutorial"}for循環

  for i= 0, 2 do循環

  print(array[i])數據類型

  end數據

  以上代碼執行輸出結果爲:集合

  nilco

  Lua

  Tutorial

  正如你所看到的,咱們能夠使用整數索引來訪問數組元素,若是知道的索引沒有值則返回nil。

  在 Lua 索引值是以 1 爲起始,但你也能夠指定 0 開始。

  除此外咱們還能夠以負數爲數組索引值:

  array = {}

  for i= -2, 2 do

  array[i] = i *2

  end

  for i = -2,2 do

  print(array[i])

  end

  以上代碼執行輸出結果爲:

  -4

  -2

  0

  2

  4

  多維數組

  多維數組即數組中包含數組或一維數組的索引鍵對應一個數組。

  如下是一個三行三列的陣列多維數組:

  -- 初始化數組

  array = {}

  for i=1,3 do

  array[i] = {}

  for j=1,3 do

  array[i][j] = i*j

  end

  end

  -- 訪問數組

  for i=1,3 do

  for j=1,3 do

  print(array[i][j])

  end

  end

  以上代碼執行輸出結果爲:

  1

  2

  3

  2

  4

  6

  3

  6

  9

  不一樣索引鍵的三行三列陣列多維數組:

  -- 初始化數組

  array = {}

  maxRows = 3

  maxColumns = 3

  for row=1,maxRows do

  for col=1,maxColumns do

  array[row*maxColumns +col] = row*col

  end

  end

  -- 訪問數組

  for row=1,maxRows do

  for col=1,maxColumns do

  print(array[row*maxColumns +col])

  end

  end

  以上代碼執行輸出結果爲:

  1

  2

  3

  2

  4

  6

  3

  6

  9

  正如你所看到的,以上的實例中,數組設定了指定的索引值,這樣能夠避免出現 nil 值,有利於節省內存空間。(編輯:雷林鵬 來源:網絡 侵刪)

相關文章
相關標籤/搜索