sss*_*s05 0 indexing lua replace lua-table
我需要替换lua中的键的值,例如考虑一个表
t = {"book", "ball", "bank"}
Run Code Online (Sandbox Code Playgroud)
在这里我需要更改"box"而不是"ball"的值.怎么做 ?
以前我试过找到一个关键值并改变,但它没有用!!!
for key, value in pairs(t) do
if key == 2 then
value = "box"
end
end
Run Code Online (Sandbox Code Playgroud)
但它没有用..如果有人知道替代方式,请给我建议?
这是合乎逻辑的.
在循环中循环变量key
并且value
是本地的.因此重新分配它们,它只是更改局部变量引用的值.循环运行1次后,本地用完范围并被丢弃.
要将表引用中的值更改为表本身,例如
t[key]="box"
Run Code Online (Sandbox Code Playgroud)
在这个简单的例子中,t[2]="box"
显然也可以服务;)(而不是只需要遍历整个表来替换一个值)更多深度信息可以在手册中找到.