【问题标题】:How do I get information from a table in lua?我如何从lua中的表中获取信息?
【发布时间】:2022-12-05 09:49:21
【问题描述】:

我有一些这样的lua代码:

_table = {
  stuff = {
    item1 = {Name="Stack",Rarity="Over"};
    item2 = {Name="Flow",Rarity="Com"}
  };
};

print("placeholder") -- example thing
_stuff = _table.stuff
for i = 1, #_stuff do
 print(_stuff[i].Name)
end

输出是这样的: placeholder

我试图查看一些东西,但我认为这与我的问题无关。

【问题讨论】:

    标签: lua iteration


    【解决方案1】:

    看起来您正在尝试遍历 _stuff 表中的项目并打印它们的 Name 值,但是您的代码存在一些问题。首先,_stuff 表实际上不是一个数组(它没有数字键),因此 for 循环不会正确地迭代它的元素。其次,for 循环内的 print 语句试图访问 _stuff 表中每个元素的 Name 属性,但 _stuff 表中的元素本身就是具有 Name 和 Rarity 属性的表,而不是简单的值。

    要解决此问题,您可以使用 for 循环遍历 _stuff 表中的键并访问相应的值,如下所示:

    _stuff = _table.stuff
    for key, value in pairs(_stuff) do
      print(value.Name)
    end
    

    这样,for 循环将遍历 _stuff 表中的键(在本例中为 item1 和 item2),您可以使用 value 变量访问 _stuff 表中的相应值。由于值本身是具有 Name 和 Rarity 属性的表,因此您可以使用 .运算符访问每个值的 Name 属性并打印它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 2018-04-23
      相关资源
      最近更新 更多