From: siena@... (Siena. / SHINAGAWA, Norihide) Date: 2003-03-31T22:12:10+09:00 Subject: [ruby-list:37479] Re: Tmpfile.new がデフォルトで/tmpを利用すること Siena. です。 ▼ [ruby-list:37472] Re: Tmpfile.newがデフォルトで/tmpを利用すること 》 Windows だと、テンポラリディレクトリが決め打ちできないので 》どうしようもないですね。(レジストリも環境変数も汚染されている 》わけで) 》 》 Tempfile.{tmpdir,tmpdir=}() みたいなのを用意してみますか。 》(デフォルトは /tmp) cygwin などの一部を除いた DOSISH な環境では共通する問題なので、 Tempfile を素のままで使える事を期待したいです。 Tempfile.{tmpdir,tmpdir=}() を用意するというのは、Tempfile の 利用側に環境依存の部分の解決を任せてしまうという事になります。 その場合、クライアントコードが Tempfile.tmpdir をセットしていないと DOSISH な環境では動かなくなってしまう可能性が高くなります。 ポータビリティを必要とするスクリプトそれぞれが Tempfile.tmpdir を 適切に設定するのは煩雑ですし、設定漏れやミスも誘発しやすいと思います。 ですから、Tempfile 内部で解決してくれるようになっていて欲しいです。 /tmp の存在を仮定できない場合、存在すると期待できるのは / と . です。 DOSISH ならば / か . のどちらかを使うようにするというのを提案します。 個人的には、デフォルトは . よりも / の方が嬉しいです。 / が散らかるのは嫌ですが、. だと一時ファイルの削除に失敗した場合に、 どのサブディレクトリにごみが残っているか分からなくなるからです。 また、ドライブ文字を付けて C:/ とする選択肢もありますが、必ずしも C: が存在するとは限らないので、単純に / とした方が良いと思います。 以上、いかがでしょうか。 --- Siena.