【发布时间】:2012-09-07 20:35:13
【问题描述】:
我正在使用StringIO 类编写一些测试,只是想知道:我可以关闭 StringIO 实例,因为它实际上是在模仿 IO,但我真的应该打扰吗?我应该像实际should close files 那样关闭StringIO 实例吗?
【问题讨论】:
标签: ruby
我正在使用StringIO 类编写一些测试,只是想知道:我可以关闭 StringIO 实例,因为它实际上是在模仿 IO,但我真的应该打扰吗?我应该像实际should close files 那样关闭StringIO 实例吗?
【问题讨论】:
标签: ruby
好吧,读写直接进入底层字符串;没有要刷新的额外缓冲区,也没有要返回的操作系统级资源。
您可能想要关闭 StringIO 的唯一原因是使后续 IO 失败,或者如果您需要使 closed? 返回 true,如果您将该 StringIO 提供给其他组件,这可能会很有用。另一方面,如果您稍后只是要丢弃 StringIO,那一点也不重要;垃圾收集器不关心它是标记为打开还是关闭。
【讨论】: