Ruby Dir クラスとメソッド

Dirオペレーティングシステムのディレクトリ内のファイル名を提供するためのディレクトリストリームを表します。Dir クラスは、ワイルドカードのファイル名マッチングや作業ディレクトリの変更など、ディレクトリ関連の操作も持ちます。

クラスメソッド

番号メソッド & 説明
1Dir[pat]
Dir::glob( pat)

指定したワイルドカードパターン pat に一致するファイル名を含む配列を返します:
  • *空文字列を含む任意の文字列に一致します。
  • **再帰的に任意の文字列に一致します。
  • ?任意の1文字に一致します。
  • [...]囲まれた文字のいずれかに一致します。
  • {a,b...}文字列のいずれかに一致します。
Dir["foo.*"] # "foo.c"、"foo.rb" などに一致します
Dir["foo.?"] # "foo.c"、"foo.h" などに一致します
2Dir::chdir( path)
現在のディレクトリを変更します。
3Dir::chroot( path)
ルートディレクトリを変更します(スーパーユーザーのみ)。すべてのプラットフォームで利用できるとは限りません。
4Dir::delete( path)
path で指定されたディレクトリを削除します。ディレクトリは空でなければなりません。
5Dir::entries( path)
ディレクトリ path 内のファイル名を含む配列を返します。
6Dir::foreach( path) {| f| ...}
path で指定されたディレクトリ内の各ファイルに対してブロックを1回実行します。
7Dir::getwd
Dir::pwd

現在のディレクトリを返します。
8Dir::mkdir( path[, mode=0777])
path で指定されたディレクトリを作成します。パーミッションモードは File::umask の値によって変更されることがあり、Win32 プラットフォームでは無視されます。
9Dir::new( path)
Dir::open( path)
Dir::open( path) {| dir| ...}

path の新しいディレクトリオブジェクトを返します。open にブロックが指定された場合、新しいディレクトリオブジェクトがそのブロックに渡され、ブロックは終了前にディレクトリオブジェクトを閉じます。
10Dir::pwd
Dir::getwd を参照。
11Dir::rmdir( path)
Dir::unlink( path)
Dir::delete( path)

path で指定されたディレクトリを削除します。ディレクトリは空でなければなりません。

インスタンスメソッド

仮定dであるDirクラスのインスタンス:

番号メソッド & 説明
1d.close
ディレクトリストリームを閉じます。
2d.each {| f| ...}
d 内の各エントリに対してブロックを1回実行します。
3d.pos
d.tell
d 内の現在位置を返します。
4d.pos= offset
ディレクトリストリーム内の位置を設定します。
5d.pos= pos
d.seek(pos)

d 内の位置に移動します。pos は d.pos が返す値または 0 である必要があります。
6d.read
d の次のエントリを返します。
7d.rewind
d 内の位置を最初のエントリに移動します。
8d.seek(po s)
d.pos=pos を参照。
9d.tell
d.pos を参照。
その他の拡張