我目前在我正在开发的程序中构建/连接相当大的字符串。为了给出一些上下文,完整的字符串具有终端的大小。自从我开发终端应用程序以来,这种情况发生了很多。我发现了数据结构Buffer
,这似乎是将字符串与标准库连接起来的最高效的方法。
如果我经常需要在特定位置更新缓冲区的某些部分,这是正确的选择吗?让我们说20到50岁的角色? 在这种情况下有更好的方法吗?
答案 0 :(得分:4)
@coredump和@kne给出了很好的答案。我可能只是在今天的世界中添加一个字节是一个字符的不良表示。所以你可以考虑使用数组或bigarray。
答案 1 :(得分:3)
AFAICS,除了添加到结尾之外,没有办法改变Buffer.t
的内容。也许你应该看看模块Bytes
。 Bytes.t
在任何地方都是可变的,只有长度不能改变。但似乎你需要的长度是固定的:终端的大小(如果终端窗口调整大小,你可以用新的替换Bytes.t
)。