2017-07-02 46 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