rsyudouのRuby日記

2007-04-24

一時ファイルの作り方

排他な一時ファイルを作りたい場合、どうするんでしょうか。

シェルスクリプトの場合、「mktemp」があります。

rubyでは今のところ、このようにしています。

# 一時ファイル
SALT_CHARSET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
salt = "" << SALT_CHARSET[(rand 64)] << SALT_CHARSET[(rand 64)]
$random = "hoge".crypt(salt)
$tmpfile = "./tmp/#{$random}"

もっとスマートにできないものか。

rsyudoursyudou 2007/05/26 20:40 require 'tempfile'
$tempfile = Tempfile::new("hoge", "/tmp")
できた。

ゲスト



トラックバック - http://rubyist.g.hatena.ne.jp/rsyudou/20070424