我想递归一个目录及其所有子目录。我不想使用“查找”或其他任何方式,除了这一个:Ruby递归目录
task :locate do
Dir.chdir(Dir.pwd+"/public/servers_info/config/deploy/")
puts "Current Directory is: "+ Dir.pwd
dir = Dir.pwd
def get_information(dir)
Dir.foreach(".") {|f|
next if f == '.' or f == '..'
if File.directory? f
puts f
#puts Dir.pwd+"/"+f
get_information(Dir.pwd+"/"+f)
else
puts "Not Directory"
end
}
end
get_information(dir)
end
我敢肯定,它会工作,我只是不知道为什么它得到stucks在第一个目录!它进入基目录,检查文件是否是目录,然后再次运行SAME功能。但它没有!它卡在第一个文件夹,我得到一个错误!任何帮助?
你为什么用'dir'到你的方法传递,然后从来没有使用它? –