首页 / 知识
关于字符串:为什么Ruby没有真正的StringBuffer或StringIO?
2023-04-12 03:58:00

Why doesn't Ruby have a real StringBuffer or StringIO?
我最近阅读了一篇关于在Ruby中使用
就像Java一样,Ruby确实需要一个StringBuffer。 StringBuffers有两个重要目的。 首先,他们让您测试Ruby的StringIO的一半输出。 其次,它们对于从小零件上构建长弦很有用-乔尔一遍又一遍地提醒我们,这非常慢。 有没有好的替代品?
确实,Ruby中的字符串是可变的,但这并不意味着我们应该始终依赖于该功能。 如果
在Java中执行此操作的"正确"方法是:
虽然我的Java有点生锈。
我查看了 因此,将代码更改为:
与Ruby中的其他IO类型对象一样,当您写入IO时,字符指针也会前进。
我做了一些基准测试,最快的方法是使用
使用
所以我认为正确的答案是,与Java的 您的示例在Ruby中有效-我刚刚尝试过。
除非我错过您使用to_s的原因-否则仅输出对象ID。 好吧,StringBuffer在Ruby中并不是必需的,主要是因为Ruby中的字符串是可变的...因此,您可以通过修改现有字符串来构建字符串,而不是使用每个concat构造新的字符串。 需要注意的是,您还可以使用特殊的字符串语法,在该语法中,您可以构建一个引用该字符串中其他变量的字符串,从而使字符串的构造非常容易理解。考虑:
这些字符串还可以包含表达式,而不仅仅是变量……例如:
|
最新内容
相关内容
python如何检测字符串是不是全为字
python如何检测字符串是不是全为字母?,检测,培训,字符串,字母,方法,字符,示例,语法,以上,更多,python中可以使用isalpha()方法检测字符串是不Python文件如何转换为字符串
Python文件如何转换为字符串,数据,主体,名字,培训,文件,字符串,末尾,方法,对象,语句,python文件如何转换为字符串的方法:一、最方便的方法是一python中字符串怎么转换成int
python中字符串怎么转换成int,情况,培训,字符串,浮点,错误,类型,不是,臣妾,字面,函数,将字符串转换成,整型,从字面理解很容易让人误会。比如,要python怎样计算输入的字符串的长度
python怎样计算输入的字符串的长度,培训,字符串,长度,字典,函数,列表,空格,语法,字符,实例,python中的字符串。可以使用len()函数来计算长度,python怎么获得字符串长度
python怎么获得字符串长度,培训,字符串,长度,字典,函数,列表,空格,语法,字符,实例,python中的字符串。可以使用len()函数来计算长度,值得注意python如何截断字符串
python如何截断字符串,培训,位置,字符,字符串,索引,倒数,依此类推,方括号,后面,表示,字符串本质上就是由多个字符组成的,Python允许通过索引来python字符串怎么替换
python字符串怎么替换,培训,字符串,参数,函数,方法,使用方法,语法,实例,以上,以下,python中的字符串替换,主要是使用replace()函数。replace()python是否支持字符串
python是否支持字符串,培训,数据,字符串,字符,引号,中文,内容,也就是,源程序,比如说,python要求,字符串必须使用引号括起来,可以使用单引号或者python字符串如何定义
python字符串如何定义,培训,数据,字符串,字符,引号,中文,内容,定义,源程序,比如说,简单地理解,字符串就是“一串字符”,也就是用引号内的任何数python字符串代表什么
python字符串代表什么,培训,数字,字符串,字符,代表,斜线,引号,中文,中间,后面,python的字符串就是表示一串字符,字符可以是中文,英文或者数字,或python字符串切片的方法是什么
python字符串切片的方法是什么,培训,字符串,索引,切片,开头,方括号,时候,方法,冒号,首尾,获取Python字符串中的某字符可以使用索引:lang=pythopython怎么查找字符串中是否包含某
python怎么查找字符串中是否包含某个字符串,培训,检测,位置,字符串,范围内,模块,索引,范围,以上,结束,python判断一个字符串是否包含另一个字