當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Tempfile.open用法及代碼示例

本文簡要介紹ruby語言中 Tempfile.open 的用法。

用法

open(*args, **kw) { |tempfile| ... }

創建一個新的 Tempfile

不推薦使用此方法,主要是為了向後兼容而存在。請改用 Tempfile.create ,這樣可以避免委托成本,不依賴終結器,並且在給定塊時也會取消鏈接文件。

如果您需要通過終結器取消鏈接 Tempfile 並且您無法明確知道在程序中的哪個位置可以安全地取消鏈接 Tempfile ,則 Tempfile.open 仍然適用。

如果沒有給出塊,這是 Tempfile.new 的同義詞。

如果給定一個塊,則將構造一個 Tempfile 對象,並以 Tempfile 對象作為參數運行該塊。 Tempfile 對象將在塊終止後自動關閉。但是,該文件不會被取消鏈接,需要使用 Tempfile#close! Tempfile#unlink 手動取消鏈接。終結器將嘗試取消鏈接,但不應依賴它,因為它可以使文件在磁盤上的保存時間比預期的要長得多。例如,在 CRuby 上,由於保守的堆棧掃描和未使用內存中留下的引用,終結器可能會延遲。

該調用返回塊的值。

在任何情況下,所有參數(*args)都將傳遞給 Tempfile.new

Tempfile.open('foo', '/home/temp') do |f|
   # ... do something with f ...
end

# Equivalent:
f = Tempfile.open('foo', '/home/temp')
begin
   # ... do something with f ...
ensure
   f.close
end

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Tempfile.open。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。