1

我想将文件夹内的所有文件名存储到一个数组中。最好的方法是什么?

4

3 回答 3

5

你可以使用这个:

files = Dir.foreach(dir).select { |x| File.file?("#{dir}/#{x}") }

这将返回文件名,即没有文件夹。

如果您需要完整的路径,请使用以下内容:

files = Dir.foreach(dir) \
           .map { |x| File.expand_path("#{dir}/#{x}") } \
           .select { |x| File.file?(x) }
于 2013-03-08T11:11:39.290 回答
2

您可以使用:

files = Dir.entries(directory)

它返回一个包含给定目录中所有文件名的数组。

查看Ruby 文档以获取更多信息。

于 2013-03-08T11:26:16.360 回答
1

你也可以使用files=Dir.glob(*).

于 2013-03-08T11:47:22.000 回答