前 - 上 - 次 - 目次

# Dir

  ディレクトリ内の要素を順に返すディレクトリストリーム操作のためのクラス．

## スーパークラス:

  `Object`

## インクルードしているモジュール:

  `Enumerable`

## クラスメソッド:

  `self[pattern]`
  `glob(pattern)`

    ワイルドカードの展開を行った結果を文字列の配列として返します．

    ワイルドカードには以下のものがあります．

    > `*`
    >   空文字列を含む任意の文字列と一致します．
    > `?`
    >   任意の一文字と一致します．
    > `[ ]`
    >   鈎括弧内のいずれかの文字と一致します．``-`'でつな がれた文字は範囲を表します．鈎括弧の中の最初の文字が ``^`'である時には含まれない文字と一致します．
    > `{ }`
    >   コンマで区切られた文字列の組合せに展開します．例えば， ``foo{a,b,c}`'は``fooa`', ``foob`', ``fooc`'に展開されます．他のワイルドカードと異な り，展開結果のファイルが存在している必要はありません．

  `chdir(path)`

    カレントディレクトリをpathに変更します．

  `chroot(path)`

    ルートディレクトリをpathに変更します． `chroot(2)`を参照のこと．スーパーユーザだけがルー トディレクトリを変更できます．

    元のルートディレクトリに戻る方法はありません．

  `pwd`
  `getwd`

    カレントディレクトリのフルパスを返します．

  `foreach(path)`

    pathのディレクトリの要素に対して繰り返すイテレー タ．このメソッドは以下と同じ働きをします．

    >     dir = Dir.open(path)
    >     begin
    >       dir.each {
    >         ...
    >       }
    >     ensure
    >       dir.close
    >     end

  `mkdir(path[, mode])`

    pathという新しいディレクトリを作ります．パーミッ ションはmodeで指定された値(デフォルトは0777)にumaskを かけた(`mode & ~umask`)値になります．

  `open(path)`

    pathに対するディレクトリストリームをオープンしま す．

  `delete(path)`
  `rmdir(path)`
  `unlink(path)`

    ディレクトリを削除します．ディレクトリは空でなければいけませ ん．

## メソッド:

  `close`

    ディレクトリストリームをクローズします．以降のディレクトリに 対する操作は例外を発生させます．

  `each {|item|...}`

    ディレクトリの各要素に対してブロックを評価します．

  `read`

    ディレクトリストリームから次の要素を読み出します．

  `rewind`

    ディレクトリストリームの読み込み位置を先頭に移動させます．

  `seek(pos)`

    ディレクトリストリームの読み込み位置をposに移動さ せます．posは `Dir#tell`で与えられた値でな ければなりません．

  `tell`

    ディレクトリストリームの現在の位置を返します．

前 - 上 - 次 - 目次

matz@netlab.co.jp