相対パスと絶対パス

次のプログラムを見てください。hello.txtを読み込むプログラムです。

File.read('data/hello.txt')    # 相対パス

このとき読み込まれるhello.txtは、プログラムが実行されるディレクトリのサブディレクトリであるdataディレクトリに置かれている必要があります。今プログラムが実行されているディレクトリ(カレントディレクトリ)から相対的にファイルの位置を指定いるので、File.readに渡している'data/hello.txt'を相対パスといいます。

ファイル名は絶対パスで指定することもできます。絶対パスを使うと、カレントディレクトリがどこであろうと、毎回同じファイルを参照することができます。次のプログラムはWindows上のCドライブにあるdataフォルダの中のhello.txt(C:\data\hello.txt)を読み込みます。

File.read('C:/data/hello.txt')    # 絶対パス(Windows系)

UNIX系のOSの場合は「/」から始まるパスで絶対パスを表現することができます。次のプログラムは「/home/dan/hello.txt」を読み込みます。

File.read('/home/dan/hello.txt')    # 絶対パス(UNIX系)