Ruby Tips!

RubyのTipsを紹介します

ディレクトリを削除する

ディレクトリの削除には、Dir.rmdirを使う。ただし、コマンドのrmdirと同様、このメソッドは空のディレクトリしか削除できない。

Dir.rmdir("dir")

このため中身があるディレクトリは、中身を再帰的に削除しないと削除することができない。これを代わりにやってくれるのがfileutilsライブラリのFileUtils.rm_rだ。

reqiure 'fileutils'
FileUtils.rm_r("dir")

しかし、FileUtils.rm_rでも、読み取り専用ファイルなどが邪魔になり削除が完了しない場合がある。そのような場合に強制的に削除を行うには、FileUtils.rm_rfが利用できる。

reqiure 'fileutils'
FileUtils.rm_rf("dir")