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


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