一時ファイルを作成する
Rubyで一時ファイルを作成するにはtempfileライブラリが利用できる。
Tempfile.new
は一時ファイルを作成するメソッドで、一時ファイルのFile
オブジェクトを返す。一時ファイルはFile
オブジェクトがガーベジコレクションされたタイミングで自動的に削除されることになっているが、以下のコードでは安全のため一時ファイルの後始末も自分で明示的に行っている。
require 'tempfile' tmp = Tempfile.new('foo') p tmp.path #=> "/tmp/foo20140323-9190-1ircig0" begin # do something using tmp ensure tmp.close tmp.delete end
一時ファイルの作成先はデフォルトではDir.tmpdir
のディレクトリになる。一時ファイルを作成するディレクトリは第2引数で指定することができる。
require 'tempfile' tmp = Tempfile.new('foo', '/home/rubytips86') p tmp.path #=> "/home/rubytips86/foo20140323-9225-sze8kv"