タグ

tempfileに関するsnjxのブックマーク (1)

  • RubyでTempfileを使う際の注意 - Qiita

    tempfile = Tempfile.open(...) do |f| ... ... f.write end (...tempfileを使った処理...) といったコードがありました。 このコード、だいたいの場合問題なく動くのですが、たまに作成したはずの一時ファイルがないと怒られることがありました。 実は Tempfile オブジェクトは自身への参照がなくなり、ガベージコレクションされた際に一時ファイルを削除する仕組みがあります。実はさきほどのコードでは Tempfile のオブジェクトへの参照が Tempfile#open のブロックを抜けるタイミングでなくなってしまっていたのです。 変数 tempfile があるじゃないか、と思うかもしれませんが実はこれ Tempfile のオブジェクトではないのです。 ドキュメントを見ると、 Tempfile オブジェクトはFileクラスへのDe

    RubyでTempfileを使う際の注意 - Qiita
  • 1