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 回答