在Lua中将数组中的字符串连接成一个长字符串。

我到目前为止有这个代码

mk = {}
mk = conn:query({ live=true, sql="select * from OrderReports where OrderId= '"..T.OrderId.."'"})
 for a=1, # mk do

 end

我想将 mk 中不同索引的字符串连接起来并存储到一个变量 lk 中,那么在循环体中应该写什么?

点赞
用户1009479
用户1009479

直接的方法是在 for 循环体中像这样连接字符串:

local lk = ""
for a = 1, # mk do
    lk = lk .. mk[a]
end

但是当表很大时,这会导致性能较差,因为在 Lua 中字符串是不可变的。在每次循环中都会创建一个新字符串并复制内容。

相反,您应该使用内置函数 table.concat() 来完成此任务:

local lk = table.concat(mk)
2014-03-22 17:26:27