在Lua中为键替换表格中的值。

我需要在 Lua 中替换键的值,例如考虑一个表

t = {"book", "ball", "bank"}

这里我需要将 "ball" 的值更改为 "box"。该怎么做?

之前我尝试过查找键和更改值,但它没有起作用!

for key, value in pairs(t) do
  if key == 2 then
    value = "box"
  end
end

但是它没有起作用... 如果有人知道其他方法,请给我建议?

点赞
用户513763
用户513763

这很合乎逻辑。

在循环中,循环变量 keyvalue 是局部变量。所以重新对它们进行赋值只会改变本地变量所指向的值。在循环运行一次后,局部变量超出范围并被丢弃。

要改变表中的值,并将其引用为表本身,可以像这样:

 t[key]="box"

在这个简单的例子中,只需执行 t[2]="box" 就已经足够了;不必通过循环遍历整个表来替换一个值。更深入的信息可以在手册中找到。

2012-10-11 07:40:30