Lua Tables // Loop // Wow Addons // 变量作为索引

我发现从游戏功能中获取特定值非常低效。我想尝试一次性从函数获取所有值,将其放入表中,然后通过索引访问它,而不是多次循环

for j=1,10 do
a1,a2,a3,a4,a5,a6,a7,a8,a9,a10 = GetAuraWithIndex(j)
at [ "player"] = {[a10] = {a1,a2,a3,a4,a5,a6,a7,a8,a9,a10}}
end

这让我以这种方式访问表格:

at [ "player"] [783] [10]

尽管如此,我仍无法使用我得到的东西将多个结果插入表格。它只为“j”循环中最后一个a10代表的值创建了索引

for j=1,10 do

是否可能让它按我想要的方式工作,以便我获得所有结果而不仅仅是循环中的最后一个?我能够在循环期间打印a10,它打印出我设计的a10值(我的意思是我确定我没有在代码的其他地方犯任何错误)

这是我的代码插入表格的东西。

at={
    player={
            [783]={
                   [1]="重要数据"
                   [2]="重要数据"
                   [3]="重要数据"
                   [4]="重要数据"
                   [5]="重要数据"
                   [6]="重要数据"
                   [7]="重要数据"
                   [8]="重要数据"
                   [9]="重要数据"
                   [10]=783
                  }
            }
}

因此,它只为j=10插入数据,而不是所有循环。

点赞
用户2858170
用户2858170
对于这个循环中的 `unit` 来说是不变的。因此,您会在 `1` 到 `aura_count` 的每个 `j` 上重写 `at[unit]`。

我不知道您想如何组织您的数据,但您可以简单地这样做:

at[unit].data = {} for j=1,aura_count do local a1,a2,a3,a4,a5,a6,a7,a8,a9,a10 = GetAuraWithIndex(j) at[unit].data[j]={[a10]={a1,a2,a3,a4,a5,a6,a7,a8,a9,a10}} end

```

2021-03-09 16:19:53