Lua - 从嵌套表中获取值

好的,我已经到处搜寻过了,但是没有找到答案。

我有一个嵌套表(例如):

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

问题是我无法通过循环来查看这些表,也无法从这些表中获取值。 无嵌套的表可以很容易地访问,例如:

print(a[1])

我该如何循环它们并从它们获取值?

点赞
用户90511
用户90511

如果你有:

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

那么 a 的第二个元素将会是 a[2],即表 { "username1", "password1", 1000000, }。如果你打印它,它看起来会和 table: 0x872690 类似,这只是默认情况下 Lua 中表的打印方式。要访问内部的字段,你只需要使用相同的索引操作符。对于第一个字段,我们使用 a[2][1],对于第二个字段,我们使用 a[2][2],以此类推。

 for i = 2, #a do
     print(a[i][1], a[i][2], a[i][3])
 end
2014-07-06 19:34:42
用户1442917
用户1442917

使用 pairsipairs 迭代表格:

local t = {
  {
    "用户名",
    "密码",
    "余额",
  },
  {
    "username1",
    "password1",
    1000000,
  },
  {
    "username2",
    "password2",
    1000000,
  },
}

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

将打印:

用户名      密码        余额
username1   password1   1000000
username2   password2   1000000
2014-07-06 19:35:23