Lua 从非数值表的值创建数值表

Lua 从非数值表的值创建数值表,lua,lua-table,Lua,Lua Table,正如你们所看到的,我不能称之为背包[1],因为它不是一个数字表,我如何在构建背包后生成一个表,只包含它的值?例如: Backpack = {Potion = 'backpack',Stack = 'bag',Loot = 'derp', Gold = 'random'} Backpack[1] ~= 'backpack' -- nope 这看起来很简单,但我找不到办法 我之所以需要它,是因为我将在要构造的表上运行一个数字循环[I]要迭代表中的所有键值对,请使用以下函数: Table_to_b

正如你们所看到的,我不能称之为背包[1],因为它不是一个数字表,我如何在构建背包后生成一个表,只包含它的值?例如:

Backpack = {Potion = 'backpack',Stack = 'bag',Loot = 'derp', Gold = 'random'}

Backpack[1] ~= 'backpack' -- nope
这看起来很简单,但我找不到办法


我之所以需要它,是因为我将在要构造的表上运行一个数字循环[I]

要迭代表中的所有键值对,请使用以下函数:

Table_to_be_Constructed = {Value of Potion,Value of Stack,Value of Loot,Value of Gold} -- this is what i need
注:未定义迭代顺序。因此,您可能需要对
表进行排序,以便在之后构建

按照惯例,变量名
\uuu
用于表示不使用其值的变量。因此,由于您只需要表中的值,因此可以用以下方式编写循环:

local Table_to_be_Constructed = {}
for key, value in pairs(Backpack) do
    table.insert(Table_to_be_Constructed, value)
end

有关最新问题
Backpack
没有顺序(构造器语句中的顺序不保留)。如果在构造
表_to_be_Constructed
时要将顺序添加到其值中,可以直接这样做:

for _, value in pairs(Backpack) do
local Table_to_be_Constructed = {
    Backpack.Potion, 
    Backpack.Stack, 
    Backpack.Loot, 
    Backpack.Gold
}
或者间接地像这样:

for _, value in pairs(Backpack) do
local Table_to_be_Constructed = {
    Backpack.Potion, 
    Backpack.Stack, 
    Backpack.Loot, 
    Backpack.Gold
}

是的,我以前也试过,但是如果表的构建不是按顺序进行的,它也不会有帮助,我如何根据背包对其进行排序?您如何在
背包中看到顺序或顺序?(把这个和上面的信息添加到你的问题中。)对不起,我应该说背包中的值不是按字母顺序排列的,你可以像
Backpack.Potion~='a'
这样测试。这样会更好吗?