StringIO - 내 프로그램의 다른 부분에서 동시에 읽고 쓸 수있는 비슷한 클래스를 찾고 있습니다.
프로그램의 한 부분에서 버퍼에 문자를 쓰고 싶습니다. 다른 부분에서 읽고 싶습니다. 내가 버퍼에 기록 할 때마다Ruby 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
, 그것은 현재의 위치에 기록됩니다
StringIO의 문제점은 다음과 같다. Aterwards 위치는 마지막으로 기록 된 문자로 이동합니다.
내가 필요로하는 것은 단 하나가 아닌 읽기와 쓰기를위한 두 개의 별도 위치가있는 StringBuffer입니다. 루비에 이와 같은 것이 있거나 아니면 혼자서해야합니까?
공유 변수를 쓰레드로 변경하는 것은 MRI에서 비 결정적입니다. – Anthony