在lua中是否有办法将表分成两部分?

  • 本文关键字:两部分 lua 是否 lua
  • 更新时间 :
  • 英文 :


目标是将一个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

最新更新