ディレクトリ配下のファイル/ディレクトリ一覧を列挙する。
Findを使うと、ディレクトリ配下のファイル/ディレクトリ一覧を簡単に列挙できます。
require 'find' # ./tmp 以下のファイルを列挙する。 Find.find('./tmp') {|f| puts f }
実行結果です。
./tmp ./tmp/dir ./tmp/dir/c.txt ./tmp/dir/b.txt ./tmp/dir/a.txt ./tmp/c.txt ./tmp/b.txt ./tmp/a.txt
Find.pruneを使うと、特定のディレクトリ配下の列挙をキャンセルできます。
# ./tmp/dir 配下をスキップし # ./tmp 以下のファイルを列挙する。 Find.find('./tmp') {|f| Find.prune if f == "./tmp/dir" puts f }
実行結果です。
./tmp ./tmp/c.txt ./tmp/b.txt ./tmp/a.txt
こんな便利なモノがあったとは!知らずに再発明済みすよ.orz.