原始邮政
鉴于Lua中没有内置函数,我正在寻找一个允许我将表附加在一起的函数.我搜索了很多,并尝试了我偶然发现的所有解决方案,但似乎都没有正常工作.
场景是这样的:我在应用程序中使用Lua.应用程序的内部命令以表格的形式返回值列表.
我想要做的是在循环中递归调用该命令,并将返回的值再次以表格的形式附加到以前迭代的表中.
编辑
对于那些将来遇到这篇文章的人,请注意@gimf发布的内容.由于Lua中的Tables与其他任何内容一样(即使在列表上下文中),因此没有真正正确的方法将一个表附加到另一个表.最接近的概念是合并表格.请查看帖子" Lua - 合并表? "以获得这方面的帮助.
过于复杂的答案很多?
这是我的实施:
function TableConcat(t1,t2) for i=1,#t2 do t1[#t1+1] = t2[i] end return t1 end
要一起添加两个表,请执行此操作
ii=0 for i=#firsttable, #secondtable+#firsttable do ii=ii+1 firsttable[i]=secondtable[ii] end
使用第一个表作为要添加的变量,因为代码按顺序将第二个表添加到第一个表的末尾.
i
是表或列表的起始编号.
#secondtable+#firsttable
是什么结束.
它从您要添加到的第一个表的末尾开始,并在for
循环中结束于第二个表的末尾,因此它适用于任何大小的表或列表.