2

我真的是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

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

4

1 回答 1

1

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

ammo您可以通过索引表的键直接访问变量

for k, v in pairs(gun_info) do
    print(k, v.ammo)
end

v.ammo 和 v[ammo] 在 Lua 中是不一样的。

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

于 2018-04-17T17:06:43.183 回答