Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

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