2
我想獲取特定目錄下所有文件的列表。 Dir.glob的效果很好,但似乎沒有辦法將結果限制爲文件(不包括目錄)。找。 -type f in ruby
繼承人就是我現在所擁有的:
files = Dir.glob('my_dir/**/*').reject { |f| File.directory?(f) }
有沒有做到這一點更優雅的方式?
我想獲取特定目錄下所有文件的列表。 Dir.glob的效果很好,但似乎沒有辦法將結果限制爲文件(不包括目錄)。找。 -type f in ruby
繼承人就是我現在所擁有的:
files = Dir.glob('my_dir/**/*').reject { |f| File.directory?(f) }
有沒有做到這一點更優雅的方式?
這實際上是去這樣做是一個相當有效的方式,但你也可能使用查找模塊:
require 'find'
found = [ ]
Find.find(base_path) do |path|
found << path if (File.file?(path))
end
+1:我總是忘了'find'庫,但它是最實在有效的(就程序員而言,無論如何)將POSIX'find'表達式移植到Ruby。 – 2009-12-30 18:02:32