Lua 如何将表名分配给变量?
我有一张lua表格,里面有一些数据Lua 如何将表名分配给变量?,lua,Lua,我有一张lua表格,里面有一些数据 sometable = { {name = "bob", something = "foo"}, {name = "greg", something = "bar"} } 然后我想循环遍历该表,并将一个数字作为变量分配给每个名称。我是lua的新手,就这样尝试过 for i,t in ipairs(sometable) do t.name = i end 然后我假设print(“name1”,bob)会给我name1=1。现在我得零
sometable = {
{name = "bob", something = "foo"},
{name = "greg", something = "bar"}
}
然后我想循环遍历该表,并将一个数字作为变量分配给每个名称。我是lua的新手,就这样尝试过
for i,t in ipairs(sometable) do
t.name = i
end
然后我假设print(“name1”,bob)会给我name1=1。现在我得零分。因此,我回到了我丑陋的静态变量列表,直到某种灵魂告诉我我是个白痴。该函数将只按升序在数字索引表中迭代
您要使用的是pairs函数。它将迭代表中的每个键,不管它是什么类型。>sometable={{{name=“bob”,something=“foo”},{name=“greg”,something=“bar”}
>对于i,ipair(sometable)中的t不[t.name]=i结束
>对于i,t在ipairs(sometable)中,对于j,u成对(t)进行打印(j,u)结束
叫鲍勃
一些食物
鲍勃1
格雷格2
酒吧
名字格雷格
>返回sometable[1]。bob
1>
这不是问题所在;环很好;他应该用t[t.name]=i而不是t.name=i