首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清除“`StringIO`”实例?

如何清除“`StringIO`”实例?
EN

Stack Overflow用户
提问于 2015-02-11 01:21:31
回答 2查看 4.4K关注 0票数 6

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

代码语言:javascript
复制
require "stringio"
io = StringIO.new
io.write("foo")
io.string #=> "foo"
# ... After doing something ...
io.string #=> Expecting ""

我尝试了flushrewind,但仍然得到了相同的内容。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-11 01:27:02

seekrewind只影响下一个读/写操作,而不影响内部存储的内容。

您可以像使用StringIO#truncate一样使用File#truncate

代码语言:javascript
复制
require 'stringio'
io = StringIO.new
io.write("foo")
io.string
# => "foo"
io.truncate(0)   # <---------
io.string
# => ""

备选方案:

您还可以使用StringIO#reopen (注意:File没有reopen方法):

代码语言:javascript
复制
io.reopen("")
io.string
# => ""
票数 6
EN

Stack Overflow用户

发布于 2016-07-22 08:53:08

我使用truncaterewind。倒带是为了为下一次操作做准备。

代码语言:javascript
复制
io.truncate(0)
io.rewind
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28445000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档