Ruby では、次のように簡単にcontents
ファイルに書き込むことができます。path
IO.write path, contents, :mode => 'w+'
ただし、ドキュメントには、発生する可能性がある例外の種類は指定されていません。EAGAIN
C では、プログラムがまたはに遭遇した場合EINTR
、通常はファイルへの書き込みを再試行します。Ruby でも同じことを (と をキャッチErrno::EINTR
してErrno::EAGAIN
) 行うべきでしょうか? Ruby のような言語では、より高度な抽象化が行われることを期待しています。ここで使用する正しいパターンは何ですか?
(ついでに言うと、Ruby ではショート カウントについて心配する必要はありますか?)