我们需要对一个10000字节的字符串str增加一个字符的时候,就会创建一个10001字节的字符串str_copy,然后再复制str到str_copy里面。所以我们需要字符串缓冲(string buffer)来解决这个问题,而Lua里面,string buffer就可以使用table来实现。
- local t = {}
- local test = {"a","x","def","type","fire","time","bottle","xo","wtf"}
- for i, var in ipairs(test) do
- t[#t+1] = var
- t[#t+1] = "\n"
- end
- local s = table.concat(t)
- print(s)
当然我们也可以指定一个分隔符作为table.concat方法的第二个参数:
- local t = {}
- local test = {"a","x","def","type","fire","time","bottle","xo","wtf"}
- for i, var in ipairs(test) do
- t[#t+1] = var
- end
- t[#t+1] = ""
- local s = table.concat(t,"\n")
- print(s)