目标是将一个lua表拆分为两个独立的表。预期结果如下:本地t1 = {value="foo"}本地t2 = {tex="bar"}从本地t = {{Value = "foo";Tex = "bar"}}
我还没有找到这种类型的表的解决方案,因为基本表是动态的,不能改变。我试过迭代表,只在新表中插入某些项目。但是失败了
如果你想把一个表分成两半,你可以这样做:
function SplitInHalf(tbl)
local t1, t2 = {}, {} -- create 2 new tables
local state = true -- to switch between t1 and t2 we will use a variable
for k, v in pairs(tbl) do -- iterating original table
(state and t1 or t2)[k] = v -- depending on the state use t1 or t2 and insert a key in it
state = not state -- inverse state, if true make false, if false make true
end
return t1, t2 -- return new tables
end