【问题标题】:Replace a table value for a key in lua替换lua中键的表值
【发布时间】:2012-10-01 19:29:16
【问题描述】:

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

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

这里我需要更改“box”而不是“ball”的值。怎么做 ?

之前我尝试找到一个键的值并进行更改,但是没有用!!!

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

但它不起作用..如果有人知道替代方法,请给我建议?

【问题讨论】:

    标签: replace lua indexing lua-table


    【解决方案1】:

    这是合乎逻辑的。

    在循环中,循环变量keyvalue 是局部变量。所以重新分配它们,它只是改变了局部变量引用的值。循环运行 1 次后,局部变量超出范围并被丢弃。

    将表引用中的值更改为表本身之类的

     t[key]="box"
    

    在这个简单的示例中,只需执行t[2]="box" 显然也可以服务;)(而不必循环整个表来替换一个值) 更深入的信息可以在manual找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 2011-04-07
      • 2014-09-25
      • 1970-01-01
      相关资源
      最近更新 更多