Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > tempfileライブラリ > Tempfileクラス > create
create(basename, tmpdir=nil, mode: 0, **options) -> File[permalink][rdoc]create(basename, tmpdir=nil, mode: 0, **options) {|fp| ...} -> objectテンポラリファイルを作成し、それを表す File オブジェクトを生成して返します(Tempfileではありません)。 createはopenに似ていますが、finalizerによるファイルの自動unlinkを行いません。
ブロックを指定しなかった場合、tmpdirにファイルを作り、Fileオブジェクトを返します。 このファイルは自動的に削除されません。ファイルを削除する場合は明示的にunlinkすべきです。
ブロックを指定して呼び出した場合、tmpdirにファイルを作り、 Fileオブジェクトを引数としてブロックを呼び出します。 ブロック終了時にファイルをクローズするのはopenと同じですが、 createではファイルのunlinkも自動で行います。
[SEE_ALSO] Tempfile.open
例:
require "tempfile"
GC.disable
path = ""
Tempfile.create("foo") do |f|
path = f.path
p File.exist?(path) #=> true
end
p File.exist?(path) #=> false