繁体   English   中英

如何在Lua中自动创建变量?

[英]How to automatically create variables in Lua?

在开始之前,我会说我是Lua的初学者,所以可能不知道所有正确的用语,但我会尽力解释我要做什么。

我有一个包含其他表的表( data )。 首次创建data ,它内部可以具有任意数量的表(我希望它在1到50之间)。

我想将每个表分配给它自己的变量。

如果我知道有多少张表,那么使用table1 = data[1]; table2 = data[2]这很容易table1 = data[1]; table2 = data[2] table1 = data[1]; table2 = data[2] ,依此类推。

我已经对data进行了计数,因此我知道条目的数量,所以我要做的是自动创建变量,给它们命名并为其分配相应的表。

因此,可以说data包含10个表。 然后,我想要创建名为table1table2table3等的变量。 table1应该是data[1]table2应该是data[2] ,依此类推。

我确定我应该创建一个循环,并且每次循环都有一个count=count+1来创建附加到变量的数字。

我的问题是我不知道如何创建一个名为'table'+counttable1 )的变量。

如何将2一起加入?

创建具有构造名称的全局变量的方法是更新全局表_G

_G['table'..count] = data[count]

例如,

Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> count = 3
> _G['table'..count] = 17
> = table3
17
> 

您不能,很少有编程语言支持此功能,而那些编程语言则通过反射来支持。

最简单的方法是保留表格! 您所有的表都已经存储在那里,您可以通过使用data [x]轻松地引用特定的表。这样做时,您可以仅使用它们的索引来引用表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM