2

特定のディレクトリの下にあるすべてのファイルのリストを取得したいと考えています。Dir.glob はうまく機能しますが、結果をファイル (ディレクトリを除く) だけに制限する方法はないようです。

これが私が今持っているものです:

files = Dir.glob('my_dir/**/*').reject { |f| File.directory?(f) }

これを達成するためのよりエレガントな方法はありますか?

4

1 に答える 1

2

これは実際にはかなり効率的な方法ですが、Find モジュールを使用することもできます。

require 'find'

found = [ ]

Find.find(base_path) do |path|
  found << path if (File.file?(path))
end
于 2009-12-30T16:39:23.527 に答える