1

在 Ruby 中,我可以简单地写入contents文件path

IO.write path, contents, :mode => 'w+'

但是,文档没有指定可能引发什么样的异常。在 C 中,如果程序遇到EAGAINor EINTR,它通常会尝试再次写入文件。我们是否应该在 Ruby 中做同样的事情(通过捕获Errno::EINTRand Errno::EAGAIN)?我有点期待像 Ruby 这样的语言会有更高层次的抽象。在这里使用的正确模式是什么?

(同样,我们是否必须担心 Ruby 中的短计数?)

4

1 回答 1

2

经过更多的挖掘,我发现(如预期的那样)RubyEAGAIN 可以自动处理短计数。相应的代码在 io.c 中

于 2012-08-15T19:24:45.187 回答