1

Ruby では、次のように簡単にcontentsファイルに書き込むことができます。path

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

ただし、ドキュメントには、発生する可能性がある例外の種類は指定されていません。EAGAINC では、プログラムがまたはに遭遇した場合EINTR、通常はファイルへの書き込みを再試行します。Ruby でも同じことを (と をキャッチErrno::EINTRしてErrno::EAGAIN) 行うべきでしょうか? Ruby のような言語では、より高度な抽象化が行われることを期待しています。ここで使用する正しいパターンは何ですか?

(ついでに言うと、Ruby ではショート カウントについて心配する必要はありますか?)

4

1 に答える 1

2

さらに掘り下げた後、(予想どおり) Ruby が短いカウントをEAGAIN 自動的に処理することがわかりました。適切なコードはio.c にあります。

于 2012-08-15T19:24:45.187 に答える