簡體   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