Я пытаюсь удалить файлы на основе шаблона из всех каталогов, содержащихся в данном пути. У меня есть следующее, но оно действует как бесконечный цикл. Когда я выхожу из цикла, файлы не удаляются. Где я ошибаюсь?
def recursive_delete (dirPath, pattern)
if (defined? dirPath and defined? pattern && File.exists?(dirPath))
stack = [dirPath]
while !stack.empty?
current = stack.delete_at(0)
Dir.foreach(current) do |file|
if File.directory?(file)
stack << current+file
else
File.delete(dirPath + file) if (pattern).match(file)
end
end
end
end
end
# to call:
recursive_delete("c:\Test_Directory\", /^*.cs$/)