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


Ruby Dir.chdir用法及代碼示例


本文簡要介紹ruby語言中 Dir.chdir 的用法。

用法

chdir( [ string] ) → 0
chdir( [ string] ) {| path | block } → anObject

將進程的當前工作目錄更改為給定的字符串。當不帶參數調用時,將目錄更改為環境變量 HOMELOGDIR 的值。 SystemCallError (可能是 Errno::ENOENT)如果目標目錄不存在。

如果給定了一個塊,則將新的當前目錄的名稱傳遞給它,並將該塊作為當前目錄執行。塊退出時恢複原始工作目錄。 chdir 的返回值是塊的值。 chdir 塊可以嵌套,但是在多線程程序中,如果一個線程試圖打開一個chdir 塊而另一個線程打開了一個塊,或者在一個沒有塊的情況下調用chdir,則會引發錯誤。塊傳遞給chdir(即使在同一個線程中)。

Dir.chdir("/var/spool/mail")
puts Dir.pwd
Dir.chdir("/tmp") do
  puts Dir.pwd
  Dir.chdir("/usr") do
    puts Dir.pwd
  end
  puts Dir.pwd
end
puts Dir.pwd

產生:

/var/spool/mail
/tmp
/usr
/tmp
/var/spool/mail

相關用法


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