Dir

参考:

class Dir | Ruby リファレンスマニュアル [公式]

使い方

グロブに合致するエントリーを返す。

Dir.glob("*") # => ["bar", "foo"]

グロブをドットに合致させる。

Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "..", "bar", "foo"]

"."".." 以外のエントリーを返す。

Dir.children(".") # => ["bar", "foo"]

エントリーを全て返す。. (カレントディレクトリ) と .. (親ディレクトリ) を含む。

Dir.entries(".") # => [".", "..", "bar", "foo"]

参考:

Ruby で ls をする方法 – Qiita

ディレクトリの中身を再帰的に表示する | それマグで!

ディレクトリ内のファイルを列挙する | まくまくノート

Dir.[] | Ruby リファレンスマニュアル [公式]

Dir.children | Ruby リファレンスマニュアル [公式]

Dir.entries | Ruby リファレンスマニュアル [公式]

子ディレクトリを取得する

カレントディレクトリの子ディレクトリを取得する。

Dir.children(".").select do |entry|
  File.directory?(
    File.expand_path(entry)
  )
end

指定したディレクトリの子ディレクトリを取得する。

dir_path = "path/to/directory"
Dir.children(dir_path).select do |entry|
  File.directory?(
    File.expand_path(entry, dir_path)
  )
end

参考:

Dir.children | Ruby リファレンスマニュアル [公式]

File.directory? | Ruby リファレンスマニュアル [公式]

Getting a list of folders in a directory – Stack Overflow

Dir.glob

参考:

Ruby で特定のディレクトリ配下で○日以上古いファイルを削除する – Qiita

Dir.[] | Ruby リファレンスマニュアル [公式]

Find.find

参考:

ディレクトリを再帰的に走査する Dir.glob と Find.find | Worth Living

Dir.glob と Find の違い – Qiita

Find.#find | Ruby リファレンスマニュアル [公式]

ライブラリをまとめて require する

参考:

Ruby で Dir.glob して require するときは sort してからにする | Born Too Late

Ruby でライブラリなどを書くとき、Rakefile と相対パスの require を使ってクラスの取得やテストをやりやすくする | woshidan’s loose leaf

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA