При попытке удалить каталог (+ содержимое) и после чтения файлов внутри, FileUtils.rm_rf(path)
не удалит все папки, хотя он удалит все файлы и некоторые папок.
После некоторых экспериментов он, похоже, связан с блоком File.open. (На самом деле я делаю совпадение с регулярным выражением внутри блока, но я просто использую путы здесь, чтобы прояснить ситуацию)
File.open(file).each do |line|
puts line
end
Из того, что я прочитал, вышеизложенное должно автоматически закрывать файл, но при его использовании FileUtils не может выполнить свою задачу.
Однако, если я использую следующий код, FileUtils работает как нужно.
open_file = File.open(file)
open_file.each do |line|
puts line
end
open_file.close
Нетрудно использовать код во втором примере, но я предпочитаю чистоту первого.
Есть ли причина, по которой первый пример ломает FileUtils?
P.S. Я новичок в Ruby и Stack Overflow .... Привет. Моя система - Ubuntu 11.04 (64-битная), работающая с RVM с Ruby 1.9.2-p180