[解決済み] RubyのFileクラスでディレクトリを作成するには?
2022-06-06 22:43:08
質問
こんな文があります。
File.open(some_path, 'w+') { |f| f.write(builder.to_html) }
ここで
some_path = "somedir/some_subdir/some-file.html"
というディレクトリがない場合、どうすればいいでしょうか?
somedir
または
some_subdir
のどちらか、または両方をパスに含めると、自動的に作成されるようにしたいのです。
どうすればいいのでしょうか?
どのように解決するのですか?
FileUtils を使用して、親ディレクトリがまだ存在しない場合、再帰的に作成することができます。
require 'fileutils'
dirname = File.dirname(some_path)
unless File.directory?(dirname)
FileUtils.mkdir_p(dirname)
end
編集:コアライブラリのみを使用した解決策です(ホイールの再実装、推奨しません)。
dirname = File.dirname(some_path)
tokens = dirname.split(/[\/\\]/) # don't forget the backslash for Windows! And to escape both "\" and "/"
1.upto(tokens.size) do |n|
dir = tokens[0...n]
Dir.mkdir(dir) unless Dir.exist?(dir)
end
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rubyのclass << selfイディオム
-
[解決済み] Rubyでファイルに書き込むには?
-
[解決済み] Rubyのクラス名を取得する方法を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】RVMをアンインストールする方法は?[重複] RVMのアンインストール方法
-
[解決済み] Aptana Studio 3.6をWindowsにインストールできない
-
[解決済み] Ruby の .reject! と .delete_if の比較
-
[解決済み] gemをインストールできない - makeが内部または外部のコマンド操作可能なプログラムまたはバッチファイルとして認識されない。
-
[解決済み] rubyでto_yamlに書式オプションを指定することはできますか?
-
[解決済み] Ruby on Railsでホスト名やIPを取得する
-
[解決済み] Rubyで配列を平坦化するにはどうしたらいいですか?
-
[解決済み] ファイルの存在を確認する方法 [重複]について
-
[解決済み] Rubyにバイナリ検索は組み込まれていますか?
-
[解決済み] Ruby 2.0.0p0 IRB警告。"DLは非推奨です。Fiddleをお使いください。"