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


Ruby Dir.mktmpdir用法及代码示例


本文简要介绍ruby语言中 Dir.mktmpdir 的用法。

用法

mktmpdir(prefix_suffix=nil, *rest, **options) { |dup| ... }

Dir.mktmpdir 创建一个临时目录。

该目录是使用 0700 权限创建的。应用程序不应更改允许其他用户访问临时目录的权限。

目录名称的前缀和后缀由可选的第一个参数 prefix_suffix 指定。

  • 如果未指定或为零,则使用“d” 作为前缀,不使用后缀。

  • 如果是字符串,则作为前缀使用,不使用后缀。

  • 如果是数组,则第一个元素用作前缀,第二个元素用作后缀。

Dir.mktmpdir {|dir| dir is ".../d..." }
Dir.mktmpdir("foo") {|dir| dir is ".../foo..." }
Dir.mktmpdir(["foo", "bar"]) {|dir| dir is ".../foo...bar" }

如果给出非零值,则在 Dir.tmpdir 或可选的第二个参数tmpdir 下创建目录。

Dir.mktmpdir {|dir| dir is "#{Dir.tmpdir}/d..." }
Dir.mktmpdir(nil, "/var/tmp") {|dir| dir is "/var/tmp/d..." }

如果给出了一个块,则它与目录的路径一起产生。在 Dir.mktmpdir 返回之前,使用 FileUtils.remove_entry 删除目录及其内容。返回块的值。

Dir.mktmpdir {|dir|
  # use the directory...
  open("#{dir}/foo", "w") { something using the file }
}

如果没有给出块,则返回目录的路径。在这种情况下, Dir.mktmpdir 不会删除目录。

dir = Dir.mktmpdir
begin
  # use the directory...
  open("#{dir}/foo", "w") { something using the file }
ensure
  # remove the directory.
  FileUtils.remove_entry dir
end

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Dir.mktmpdir。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。