我需要一个递归函数来列出文件夹中的文件:
def procdir(dirname)
data = ''
Dir.foreach(dirname) do |dir|
dirpath = dirname + '/' + dir
if File.directory?(dirpath) then
if dir != '.' && dir != '..' then
#puts "DIRECTORY: #{dirpath}" ;
procdir(dirpath)
end
else
data += dirpath
end
end
return data
end
但结果:为空
最佳答案
当您给它Dir#glob
glob时,Stdlib **
会递归。
def procdir(dir)
Dir[ File.join(dir, '**', '*') ].reject { |p| File.directory? p }
end