Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何清除'StringIO'实例?_Ruby_Stringio - Fatal编程技术网

Ruby 如何清除'StringIO'实例?

Ruby 如何清除'StringIO'实例?,ruby,stringio,Ruby,Stringio,如何清除StringIO实例?在我写入和读取字符串io之后,我想清除它 require "stringio" io = StringIO.new io.write("foo") io.string #=> "foo" # ... After doing something ... io.string #=> Expecting "" 我尝试了刷新和倒带,但仍然得到相同的内容。查找或倒带仅影响下一次读/写操作,而不影响内部存储器的内容 您可以像这样使用: 我使用截断和倒带。倒带是为下

如何清除
StringIO
实例?在我写入和读取字符串io之后,我想清除它

require "stringio"
io = StringIO.new
io.write("foo")
io.string #=> "foo"
# ... After doing something ...
io.string #=> Expecting ""

我尝试了
刷新
倒带
,但仍然得到相同的内容。

查找
倒带
仅影响下一次读/写操作,而不影响内部存储器的内容

您可以像这样使用:


我使用
截断
倒带
。倒带是为下一步操作准备io所必需的

io.truncate(0)
io.rewind

它似乎也能起作用:
io.string#=>foo;io.重新开放(“”);io.string#=>“”
。是吗?@CarySwoveland,谢谢你的评论。我不知道。我相应地更新了答案。
io.reopen("")
io.string
# => ""
io.truncate(0)
io.rewind