0

始める前に、私は Lua の初心者なので、正しい用語をすべて知っているわけではないかもしれませんが、私が求めていることを説明するために最善を尽くします。

他のテーブルを含むテーブル ( data) があります。が最初に作成されたときdata、内部に任意の数のテーブルを含めることができます (これは 1 から 50 の間であると予想されます)。

各テーブルを独自の変数に割り当てたい。

テーブルの数がわかっている場合、これは簡単に使用できtable1 = data[1]; table2 = data[2]ます。

dataエントリの数がわかるように を数えたので、変数を自動的に作成し、名前を付けて、それに対応するテーブルを割り当てます。

たとえばdata、10 個のテーブルが含まれているとします。table1次に、table2、などと呼ばれる変数を作成table3します。table1あるべきdata[1]table2あるべきdata[2]など。

ループを作成し、毎回count=count+1、変数に添付された数値を作成する必要があると確信しています。

私が抱えている問題は、'table'+count( table1) という変数を作成する方法がわからないことです。

2つを結合するにはどうすればよいですか?

4

2 に答える 2

7

構築された名前でグローバル変数を作成する方法は、グローバルテーブルを更新することです_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
> 
于 2012-08-22T21:32:51.083 に答える
-1

できません。これをサポートしているプログラミング言語と、リフレクションを通じてサポートしているプログラミング言語はほとんどありません。

最も簡単な方法は、テーブルのテーブルを保持することです! すべてのテーブルは既にそこに保存されており、data[x] を使用して特定のテーブルを簡単に参照できます。これを行うと、インデックスのみを使用してテーブルを参照できます。

于 2012-08-22T21:19:28.110 に答える