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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。