脚本宝典收集整理的这篇文章主要介绍了Lua中实现StringBuffer功能,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在Lua中,字符串是一个常量,如果用字符串连接符“..”把2个字符串连接起来,例如First_str = first_str .. second_str,那么原来的first_str和second_str就会作为垃圾等待回收,first_str引用的是一个新的字符串,如果在程序里面有大量的字符串连接操作的话,性能会十分低下。Lua是一个很简洁的语言,他没有StringBuffer的实现,但是其实我们可以动手写一个简单的StringBuffer实现,来避免性能的问题。
首先定义一个叫StringBuffer的table,使得这个StringBuffer被调用的时候看起来像是面向对象的样子 :)
然后分别定义两个方法apPEnd和tostr,实现的原理就是:append用table来保存所有字符串,tostr把保存了字符串的table用concat转成真正的字符串。
调用的时候大概如下,摘录了一段代码。。。
在Lua中实现这样的一个StringBuffer,既可以避免潜在的性能问题,又可以使得代码看起来更加易懂~好了,重构以前的代码去了。。。
以上是脚本宝典为你收集整理的Lua中实现StringBuffer功能全部内容,希望文章能够帮你解决Lua中实现StringBuffer功能所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。