Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > findライブラリ > Findモジュール

module Find

クラスの継承リスト: Find

要約

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

目次

モジュール関数
find prune

モジュール関数

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 メソッドのブロックにディレクトリが渡されたときにこ のメソッドを実行すると、そのディレクトリ配下の探索を無視します。