4

さて、私はこれをどこでも探してきましたが、答えはどこにもありません。

ネストされたテーブルがあります(例):

{
  {
    "Username",
    "Password",
    "Balance",
  },
  {
    "username1",
    "password1",
    1000000,
  },
  {
    "username2",
    "password2",
    1000000,
  },
}

問題は、ループを繰り返してこれらのテーブルを表示したり、テーブルから値を取得したりできないことです。ネストされたテーブルには、次のように簡単にアクセスできません。

print(a[1])

それらをループして値を取得するにはどうすればよいですか?

4

2 に答える 2

4

pairsorを使用ipairsして、テーブルを反復処理します。

local t = {
  {
    "Username",
    "Password",
    "Balance",
  },
  {
    "username1",
    "password1",
    1000000,
  },
  {
    "username2",
    "password2",
    1000000,
  },
}

for _, v in ipairs(t) do
  print(v[1], v[2],v[3])
end

印刷されます:

Username    Password    Balance
username1   password1   1000000
username2   password2   1000000
于 2014-07-06T19:35:23.233 に答える
3

あなたが持っている場合

a =  {
   { "Username", "Password", "Balance", },
   { "username1", "password1", 1000000, },
   { "username2", "password2", 1000000, },
}

次に、 の 2 番目の要素はtable になりaます。これを印刷すると、次のようになります。Luaでデフォルトでテーブルが印刷されるだけです。内部フィールドにアクセスするには、同じインデックス演算子を使用するだけです。最初のフィールドでは、2 番目のフィールドでは、というように行います。a[2]{ "username1", "password1", 1000000, }table: 0x872690a[2][1]a[2][2]

 for i = 2, #a do
     print(a[i][1], a[i][2], a[i][3])
 end
于 2014-07-06T19:34:42.097 に答える