如何清除 `StringIO` 实例?
How can I clear a `StringIO` instance?
如何清除 StringIO
实例?在我写入和读取字符串 io 后,我想清除它。
require "stringio"
io = StringIO.new
io.write("foo")
io.string #=> "foo"
# ... After doing something ...
io.string #=> Expecting ""
我尝试了 flush
和 rewind
,但我仍然得到相同的内容。
seek
或rewind
只影响接下来的read/write操作,不影响内部存储的内容。
您可以使用 StringIO#truncate
like File#truncate
:
require 'stringio'
io = StringIO.new
io.write("foo")
io.string
# => "foo"
io.truncate(0) # <---------
io.string
# => ""
选择:
你也可以使用StringIO#reopen
(NOTE: File
没有reopen
的方法):
io.reopen("")
io.string
# => ""
我使用 truncate
和 rewind
。需要倒带来为下一次操作准备 io。
io.truncate(0)
io.rewind
如何清除 StringIO
实例?在我写入和读取字符串 io 后,我想清除它。
require "stringio"
io = StringIO.new
io.write("foo")
io.string #=> "foo"
# ... After doing something ...
io.string #=> Expecting ""
我尝试了 flush
和 rewind
,但我仍然得到相同的内容。
seek
或rewind
只影响接下来的read/write操作,不影响内部存储的内容。
您可以使用 StringIO#truncate
like File#truncate
:
require 'stringio'
io = StringIO.new
io.write("foo")
io.string
# => "foo"
io.truncate(0) # <---------
io.string
# => ""
选择:
你也可以使用StringIO#reopen
(NOTE: File
没有reopen
的方法):
io.reopen("")
io.string
# => ""
我使用 truncate
和 rewind
。需要倒带来为下一次操作准备 io。
io.truncate(0)
io.rewind