我们在写Lua代码的时候,如果需要对一个字符串进行反复的连接操作的话,会造成极大的性能开销。因为字符串是不可变的值,所以当我们对字符串操作的时候,每次都会生成一个新的字符串。例如我们需要对一个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)
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&
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务