当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。