loops - Lua 表 // 循环 // 哇插件 // 索引作为变量
问题描述
我发现游戏函数获取特定值的效率非常低。我想尝试一次从函数中获取所有值,将其放入表中,然后通过索引而不是循环多次访问它
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]="important data"
[2]="important data"
[3]="important data"
[4]="important data"
[5]="important data"
[6]="important data"
[7]="important data"
[8]="important data"
[9]="important data"
[10]=783
}
}
}
因此,它只为 j=10 插入数据,而不是为所有循环插入数据。
解决方案
for j=1,aura_count do
local a1,a2,a3,a4,a5,a6,a7,a8,a9,a10 = GetAuraWithIndex(j)
at[unit]={[a10]={a1,a2,a3,a4,a5,a6,a7,a8,a9,a10}}
end
在这个循环内部unit
不会改变。因此,您将覆盖at[unit]
每个j
from 1
to aura_count
。
我不知道你想如何组织你的数据,但你可以简单地做这样的事情:
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
推荐阅读
- sql - 如果在其他键值表中未找到特定键行,则加入
- python - 用熊猫根据另一列的值删除一列中的值
- vhdl - 此处只能声明 SHARED 变量
- javascript - 如何在反应中获取选择下拉列表的映射选项的值?
- r - 直方图的对数尺度变换和拟合伽马曲线
- amazon-web-services - 努力将 Step Functions 活动任务与 A2I 人工循环工作流集成
- screensharing - 使用 Janus WebRTC Gateway 同时发布我的屏幕和相机
- ios - Apple 在应用程序配置中“无法添加卡”
- r - 在 R 中创建具有多个时区的多个 POSIXlt 日期
- javascript - Node/Apollo/Sequelize 非常慢(>7 秒)