ファイル・ディレクトリのリストを取得する方法

ls 相当の操作

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

参考:

Ruby で ls をする方法 – Qiita

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

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

class Dir (Ruby 2.5.0)

singleton method Dir.[] (Ruby 2.5.0)

singleton method Dir.children (Ruby 2.5.0)

singleton method Dir.entries (Ruby 2.5.0)

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

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

Dir.children(".").select {|entry|
  File.directory? File.expand_path(entry)
}

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

Dir.children("path/to/directory").select {|entry|
  File.directory? File.join("path/to/directory", entry)
}

参考:

Getting a list of folders in a directory – Stack Overflow

singleton method Dir.children (Ruby 2.5.0)

singleton method File.directory? (Ruby 2.5.0)

Dir.glob

参考:

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

singleton method Dir.[] (Ruby 2.5.0)

Find.find

参考:

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

Dir.glob と Find の違い – Qiita

module function Find.#find (Ruby 2.5.0)

glob で走査して require する

参考:

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

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

Tagged:

コメントを残す

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