山本です。 ># Dir.glob: 柔軟だが、直感的とは言いがたい。glob処理にも無駄がある > >def rmdir2(root) > Dir.glob(root + "/**/[a-Z]*/").sort_by{|dir| dir.scan(%r[/]).size}.each do |dir| > Dir.glob(dir + "**/").sort_by{|path| -path.scan(%r[/]).size}.each do |subdir| > Dir.glob(subdir + "*") do |file| > File.delete(path) > end > Dir.rmdir(subdir) > end > end >end これは、下のでよさそうですね。これも直感的とはいえないけど、まだ許せるかも。 def rmdir2(root) Dir.glob(root + "/**/[a-z]*/**/").uniq.sort_by{|dir| -dir.scan(%r[/].size}.each do |dir| Dir.glob(dir + "*") do |file| File.delete(file) end Dir.rmdir(dir) end end