Lua 实现StringBuffer功能

Posted hongshu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua 实现StringBuffer功能相关的知识,希望对你有一定的参考价值。

根据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

输出结果如下

 

 

以上是关于Lua 实现StringBuffer功能的主要内容,如果未能解决你的问题,请参考以下文章

StringBuffer 如何在不创建两个对象的情况下实现 append 功能?

StringBuffer的反转功能

StringBuffer的删除功能

StringBuffer的替换功能

StringBuffer与StringBuilder的区别,及实现原理

Lua 5.2 - utf8降低功能 - 是否有纯粹的lua实现?