Lua)) 如何循环 table of table 并得到特定的 属性?

Lua)) how to loop table of table and get a specific property?

我真的是lua的新手。我有这个 lua 代码

local gun_info = {
   g_sword={rate=0.5;spd=0;dmg=1;ammo=1;};
   g_pistol={rate=0.5;spd=5;dmg=1;ammo=40;};
   g_knife={rate=0.8;spd=5;dmg=1;ammo=1;};
   g_shuriken={rate=0.3;spd=5;dmg=1;ammo=40;};
   g_bomb={rate=0.8;spd=5;dmg=1;ammo=20;};
};

我只想获取每个弹药的价值。不需要其他属性。

for k, v in pairs(gun_info) do
  print(k, v[1], v[2], v[3], v[4], v[5])
end

这会打印出整个表格,但我只需要 ammos 的值

在 table 变量之间使用逗号而不是分号。使用分号在语法上没有错误,但在 Lua 中是可选的。分号通常用于分隔一行中写的多个语句。

您可以通过索引table

的键直接访问变量ammo
for k, v in pairs(gun_info) do
    print(k, v.ammo)
end

v.ammo 和 v[ammo] 在 Lua 中不相同。

注意:元素在遍历中出现的顺序不会和你定义的一样,每次都会产生不同的顺序。这是由于在 Lua.

中实施 table 的方式所致