【Ruby3.x】Dir::chdir()メソッドの使い方
chdirメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
chdirメソッドは、RubyのDirクラスに属し、プログラムのカレントディレクトリを変更するメソッドです。カレントディレクトリとは、プログラムがファイルや他のディレクトリを操作する際に、現在の作業場所として基準とする位置のことです。
このメソッドは主に二つの形式で利用されます。一つ目は、引数に新しいディレクトリのパスを指定する方法です。例えば、Dir.chdir("/path/to/new_directory")のように記述すると、以降のファイルやディレクトリへの操作は指定されたディレクトリを基準に行われるようになります。このパスは絶対パスでも相対パスでも指定可能です。ディレクトリの変更に成功した場合、メソッドは整数0を返します。
二つ目の形式は、パスの引数に加えてブロックを渡す方法です。Dir.chdir("/path/to/temp_directory") { ... }のように利用します。この形式では、ブロックの内部でのみカレントディレクトリが指定されたパスに変更されます。ブロックの実行が完了すると、自動的に元のカレントディレクトリへと戻るため、一時的な作業スペースが必要な場合に、安全かつ効率的に利用できます。この場合、ブロックの評価結果がメソッドの戻り値となります。
指定されたパスが存在しない場合や、そのディレクトリへのアクセス権限がない場合は、Errno::ENOENTやErrno::EACCESなどの例外が発生する可能性があります。このメソッドは、プログラムがファイルシステム上で作業位置を動的に変更する際に、その動作を制御するために重要な役割を果たします。
構文(syntax)
1Dir.chdir("/path/to/new_directory")
引数(parameters)
path
- path: String: 変更先のディレクトリパス
戻り値(return)
0 または ブロックの評価結果
Dir#chdir は、カレントディレクトリを変更した後に、引数としてブロックが与えられた場合はそのブロックの評価結果を、ブロックが与えられなかった場合は 0 を返します。