根据StringBuffer的链式调用原理,在Lua中模拟实现该功能。因为在使用lua的字符串拼接功能相当麻烦,总是要用..来组装,因此想着实现一个类似java 中的StringBuffer功能。话不多说,直接上代码具
--- --- Created by hong shu . --- DateTime: 2022/12/10 2:52 下午 --- 根据java StringBuffer 实现类似功能 --- local table = table local _M={_VERSION=1.0} local string_buffer ={} local str_data = {} function string_buffer:new() str_data = {} return self end function string_buffer:append(str) table.insert(str_data,str) return self end function string_buffer.to_string() return table.concat(str_data) end return string_buffer
使用示例如下:
local stringBuffer = require("util.string_buffer") module(...) _VERSION = '0.1' -- 获取项目列表 function default(args) local sb = stringBuffer:new() sb:append("wuga"):append('eeee') ngx.print(sb:to_string()) ngx.print("\n") sb = stringBuffer:new() sb:append(",kl中国") sb:append() sb:append("####") ngx.print(sb:to_string()) ngx.exit(200) return end
输出结果如下