Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Dir::entriesではファイルパスまで返って来ない

Dir.entriesは指定したフォルダ中のファイル/ディレクトリ一覧を配列で返してくれるメソッドです。
たとえば、

Dir::entries("./")
=> [".", "..", ".git", ".gitignore", "controller", "execute.exe", "execute.rb", "gmap.jpeg", "Map.png", "Map.png.rda", "model", "sandbox.rb", "view"]

といった感じです。
ですが、困ったことに

  • ディレクトリまで入る
  • ファイルパスまでは表示してくれない

という欠点があります。

ファイルパスに関してはこういった方法もあるようです。
が、構造が自明なら

dirName    = Dir.pwd
(Dir::entries("./")).each_with_object(dirName).map do |i,j|
  puts %Q(#{j}/#{i})
end

でも事は足りそうです。
計算しないので速いでしょうし。