如何清除StringIO
个实例?在我写入字符串io并从中读取之后,我想清除它。
require "stringio"
io = StringIO.new
io.write("foo")
io.string #=> "foo"
# ... After doing something ...
io.string #=> Expecting ""
我尝试了flush
和rewind
,但我仍然得到相同的内容。
答案 0 :(得分:5)
seek
或rewind
仅影响下一次读/写操作,而不影响内部存储的内容。
您可以使用StringIO#truncate
之类的File#truncate
:
require 'stringio'
io = StringIO.new
io.write("foo")
io.string
# => "foo"
io.truncate(0) # <---------
io.string
# => ""
替代:
您还可以使用StringIO#reopen
(注意:File
没有reopen
方法):
io.reopen("")
io.string
# => ""
答案 1 :(得分:2)
我使用truncate
AND rewind
。需要快退才能为下一次操作做好准备。
io.truncate(0)
io.rewind