我有一个动态生成的文件路径数组,如下所示:
paths = ["/lib/my_folder/foo", "/lib/my_folder/bar", "/lib/my_folder/baz", ...]
所以我想这样做:
for path in paths do |path|
File.delete(path) #if file exists
end
这是失败的,因为有时数组中的元素指向不再存在的文件。
我试过了:
for path in paths
if !path.blank?
File.delete(path)
end
end
但仍然失败并出现No such file or directory...
错误信息。
如何编写一个循环来删除数组中剩余的元素而不会失败?
答案 0 :(得分:4)
paths.each { |path| File.delete(path) if File.exists?(path) }