module Find

要約

ディレクトリ配下のファイルを探索するためのモジュールです。

目次

モジュール関数

モジュール関数

find(*dirs, ignore_error: true) -> Enumerator[permalink][rdoc]
find(*dirs, ignore_error: true) {|file| ... } -> nil

find(1) のように dir 配下のすべてのファイルやディレクトリを一つずつ引数 file に渡してブロックを実行します。

ディレクトリのシンボリックリンクは辿りません。また file に渡される順序は不定です。

ブロックを省略した場合は、上記の処理を行うような Enumerator を返します。

[PARAM] dirs:
探索するディレクトリを一つ以上指定します。
[PARAM] ignore_error:
探索中に発生した例外を無視するかどうかを指定します。

例:

require 'find'

Find.find('/tmp') {|f|
  Find.prune if f == "/tmp/bar"
  ...
}

あるディレクトリ配下の探索を省略したい場合は上記のように、 Find.#prune を使用します。この例では "/tmp/bar" 配下のファイルやディレクトリを探索しません。prune の代わりに 制御構造/next を使用した場合、"/tmp/bar" 自体をスキップするだけで、その配下の探索は続行されます。

[SEE_ALSO] find(1), Find.#prune

prune -> ()[permalink][rdoc]

Find.#find メソッドのブロックにディレクトリが渡されたときにこのメソッドを実行すると、そのディレクトリ配下の探索を無視します。