我应该显式关闭StringIO实例吗?

时间:2012-09-07 20:35:14

标签: ruby

我正在使用StringIO类编写一些测试并且只是想知道:我可以关闭StringIO实例,因为它实际上是模仿IO,但我真的应该打扰吗?我应该像实际should close files那样关闭StringIO实例吗?

1 个答案:

答案 0 :(得分:3)

好吧,读取和写入直接进入底层字符串;没有额外的缓冲区要刷新,也没有OS级别的资源可以返回。

您可能希望关闭StringIO的唯一原因是使后续IO失败或者如果您需要使closed?返回true,如果您将StringIO提供给其他组件,这可能很有用。另一方面,如果你稍后要丢弃StringIO,那丝毫没关系;垃圾收集器不关心它是否标记为打开或关闭。