gpt4 book ai didi

用于并发读写的 Ruby StringIO

转载 作者:数据小太阳 更新时间:2023-10-29 08:07:15 30 4
gpt4 key购买 nike

我正在寻找一些 StringIO -类似的类,它允许我从我的程序的不同部分同时写入和读取。
从程序的一部分我想将字符写入(追加)到缓冲区,从另一部分我想读取它们。

StringIO 的问题如下:

buffer = StringIO.new
buffer.write "Foobar" # Write to the buffer
buffer.rewind # Move the pointer to beginning
buffer.getc #=> F
buffer.getc #=> o

buffer.write("something") # Write more to the buffer
buffer.string #=> Fosomething
buffer.getc #=> nil
buffer.pos #=> 11

每当我写入缓冲区时,它都会写入当前位置。然后位置移动到最后写入的字符。

我需要的是一个 StringBuffer,它有两个独立的读取和写入位置,而不是只有一个。 ruby 中是否存在类似的东西,还是我必须自己做?

最佳答案

您应该考虑使用 Queue .如果您不需要线程安全,那么简单的数组也可以。

关于用于并发读写的 Ruby StringIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39253219/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com