<iframe src="//www.googletagmanager.com/ns.html?id=GTM-W8GZ33F&l=dataLayer" height="0" width="0" style="display:none;visibility:hidden"></iframe>

一時ファイルを作成する

Ruby
たま

pv:

Tempfile.create('ファイル名')

一時ファイルの作成にはTempfileを使います。 一時ファイルは以下の条件で削除されてしまうので気をつけましょう。 1. closeが呼び出された時 2. GCが呼び出された時 3. Rubyのインタプリタ終了時(プロセス終了時)

require 'tempfile'
Tempfile.create('hoge') do |t|
  p t.path
  # => "/var/folders/00/3815xdpn6wjfhb5r082_xpfr0000gp/T/hoge20191012-60237-1iqvivb"
end

ブロックを出るときにcloseが呼び出されるので Tempfileで作成されたものはでた時点でなくなっています 1のcloseの条件にあてはまります

require 'tempfile'
hogePath = ''
Tempfile.create('hoge') do |t|
  hogePath = t.path
  File.exist?(hogePath)
  # => true
end

File.exist?(hogePath)
# => false

この記事を書いた人

たま

エンジニア天国の会社を作るべく動く。rubyとgolangが主な担当。フリーランスエンジニア歴3年。エンジニア歴8年。

たまの書いた記事一覧

関連記事