在Ruby中获取目录(不包括文件)数组的最快、最优化、一行的方法是什么?
包含文件怎么样?
发布于 2010-03-03 19:40:47
Dir.glob("**/*/") # for directories
Dir.glob("**/*") # for all files
除了Dir.glob(foo)
,您还可以编写Dir[foo]
(但是Dir.glob
也可以接受一个块,在这种情况下,它将生成每个路径,而不是创建一个数组)。
发布于 2012-11-27 00:34:52
我相信这里没有一个解决方案涉及隐藏目录(例如'.test'):
require 'find'
Find.find('.') { |e| puts e if File.directory?(e) }
发布于 2010-03-03 19:41:58
有关目录列表,请尝试
Dir['**/']
文件列表更难,因为在Unix目录中也是一个文件,所以您需要测试类型或从返回的列表中删除其他条目的父条目。
Dir['**/*'].reject {|fn| File.directory?(fn) }
对于所有文件和目录的列表,只需
Dir['**/*']
https://stackoverflow.com/questions/2370702
复制相似问题