2014-04-20 15 views
-2

我有一個表,看起來像這樣:訪問表的一個領域是在一個表(嵌套)的Lua

tbm = { -- facedir indexed (+1) 
     { -- facedir = 0 
      { -- first line 
       { X = -1, Y = 2, Z = 1 }, 
       { X = 0, Y = 2, Z = 1 }, 
       { X = 1, Y = 2, Z = 1 } 
      }, 
     { -- second line 
      { X = -1, Y = 1, Z = 1 }, 
      { X = 0, Y = 1, Z = 1 }, 
      { X = 1, Y = 1, Z = 1 } 
     }, 
     { -- third line 
      { X = -1, Y = 0, Z = 1 }, 
      { X = 0, Y = 0, Z = 1 }, 
      { X = 1, Y = 0, Z = 1 } 
     }, 
     { -- forth line 
      { X = -1, Y = -1, Z = 1 }, 
      { X = 0, Y = -1, Z = 1 }, 
      { X = 1, Y = -1, Z = 1 } 
     } 
    } 
} 

確定我想要的,我用Google搜索了挫折感的是,如果我想要訪問X中包含的值並檢查它是否爲特定值,我將如何在不遞歸整個dang事件的情況下訪問它?我的意思是真正的桌面或多或少超過400KB需要隨時緩存,這將是一個令人頭痛的問題。

+0

你必須成爲一個與語言 – Schollii

回答

0
tbm[fi][line][ii].X 

哪裏fi是facedir索引(號碼1或更大,雖然只有1在你的例子),line是索引到期望的行(在實施例編號1〜4),ii是索引到一個三行中的三個三聯表和X是三聯內所需的鍵。

對於例如tbm[1][2][3].X將從Y = 1的線中取1。