【发布时间】:2017-09-10 17:35:56
【问题描述】:
我有一个问题,
我必须更改之前位于n 表中的已知表中的值。
像这样的:
Box = {
{Name = "",Box = {{Name = "",Box = {{Name = "", Box = {{Name = "This must be change for the test",Box = {}}}}}}}}
}
要改变这一点,我可以使用以下代码对其进行硬编码:
Box[1].Box[1].Box[1].Box[1].Name = "Changed"
但这不是我想要的方式!
我想动态更改它,这样我就有一个函数可以更改主表'n' 中表'x' 的值'tbl'。
有什么办法吗?
【问题讨论】:
-
local t, n = _G, 4; for j = 1, n do t = t.Box[1] end; t.Name = "Changed" -
@EgorSkriptunoff,这应该足够回答了;我测量了;)
-
@PaulKulchenko - 但它非常适合单行评论! :-)
-
@EgorSkriptunoff 这是一个很好的答案!谢谢你。但是如果一个盒子有两张相同的桌子呢?有没有其他方法可以设置这个。喜欢
Box[1].Box[5].Box[2].Box[3].Name = "Changed" -
@YoungFlyme - 你知道
1, 5, 2, 3的顺序吗?