names=new,open
visibility=public
kind=defined

--- new(basename, tempdir = Dir::tmpdir) -> Tempfile
--- open(basename, tempdir = Dir::tmpdir) -> Tempfile
--- open(basename, tempdir = Dir::tmpdir){|fp| ...} -> object

テンポラリファイルを作成し、それを表す Tempfile オブジェクトを生成して返します。
ファイル名のプレフィクスには指定された basename が使われます。
ファイルは指定された tempdir に作られます。
open にブロックを指定して呼び出した場合は、Tempfile オブジェクトを引数として ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に クローズされ、
ブロックの値をかえします。
new にブロックを指定した場合は無視されます。

@param basename ファイル名のプレフィクスを文字列で指定します。
                文字列の配列を指定した場合、先頭の要素がファイル名のプレフィックス、次の要素が
                サフィックスとして使われます。

@param tempdir テンポラリファイルが作られるディレクトリです。
               このデフォルト値は、[[m:Dir.tmpdir]] の値となります。


例:
   require "tempfile"
   t = Tempfile.open(['hoge', 'bar'])
   p t.path                            #=> "/tmp/hoge20080518-6961-5fnk19-0bar"
   t2 = Tempfile.open(['t', '.xml'])
   p t2.path                           #=> "/tmp/t20080518-6961-xy2wvx-0.xml"

例：ブロックを与えた場合
  require 'tempfile'

  path = Tempfile.open("temp"){|fp|
    fp.puts "hoge"
    fp.path
  }
  # テンポラリファイルへのパスを表示
  p path 
  p File.read(path) #=> "hoge\n"



