2017-07-02 44 views
1

讓我們想象一下:動態名爲LUA對象

tree = {} 
tree.__newindex = tree 

num = math.random(5,5) 

tree.meta = {} 

我想在這裏做的是替換tree.meta的「元」與VAR NUM沒有它創造一個公平簡稱NUM新對象。這樣我就可以做一些類似tree.01415的事情。也許有一些語法可以放在那裏來指定meta作爲變量num?

回答

1

如果我理解正確的話,我覺得這是你想要什麼:

tree[num] = "whatever" 

然後whatever將被添加到表treenum的值作爲其鍵。

+0

我想解釋我需要做的最簡單的方法是提出這個問題:如果你有說tree.meta,我怎麼能用num作爲變量調用類tree.meta.num。像這樣的動態調用是可能的嗎? – Varscott11

+0

當然,在這種情況下,您可以使用'tree.meta [num]',它將使用鍵num檢索表tree.meta中的條目。 OOP風格的點符號是方括號表示的快捷方式,因此'tree.meta.num'與'tree.meta [「num」]'相同。您需要使用方括號來傳遞變量的內容而不是字符串。 – rbeef

+0

啊。現在它是有道理的。出於某種原因,我無法將頭圍住。乾杯! – Varscott11