程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 詳解Lua中的數組概念知識

詳解Lua中的數組概念知識

編輯:更多關於編程

       這篇文章主要介紹了Lua中的數組概念知識,是Lua入門學習中的基礎,需要的朋友可以參考下

      數組是有序的對象的裝置,它可以是包含含有多個行和列的行或多維陣列的集合的單個二維數組。

      在Lua中,數組是使用索引表與整數實現的。數組的大小是不固定的,它可以增長基於我們需要受存儲器限制。

      一維數組

      一維數組可以用一個簡單的表結構來表示,可以初始化,使用一個簡單的for循環讀取。如下例子所示。

       代碼如下:

      array = {"Lua", "Tutorial"}

      for i= 0, 2 do

      print(array[i])

      end

      當我們運行上面的代碼之後,將得到下面的輸出。

       代碼如下:

      nil

      Lua

      Tutorial

      正如在上面的代碼中看到,當我們試圖訪問索引中是不存在的數組中的元素,則返回nil。在Lua索引通常開始於索引1,但有可能在索引0和小於0,以及創建對象。顯示使用負索引數組下面我們初始化使用for循環數組。

       代碼如下:

      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

      多維數組

      多維數組可以用兩種方式來實現。

      數組的數組

      一維數組通過控制索引

      對於3,3多維陣列如下所示使用數組的數組的例子。

      代碼如下:

      -- Initializing the array

      array = {}

      for i=1,3 do

      array[i] = {}

      for j=1,3 do

      array[i][j] = i*j

      end

      end

      -- Accessing the array

      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

      對於3,3多維陣列的例子如下所示使用操作索引。

       代碼如下:

      -- Initializing the array

      array = {}

      maxRows = 3

      maxColumns = 3

      for row=1,maxRows do

      for col=1,maxColumns do

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

      end

      end

      -- Accessing the array

      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

      正如在上面的例子中看到的,數據是基於索引儲存的。也能夠將元素以稀疏的方式,它是一個矩陣的工作方式lua的實現。因為它不保存在Lua零值,就可以節省大量的內存,在Lua中任何特殊的技術相比其他編程語言中使用特殊技術。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved