在ruby中的目录内递归获取文件

时间:2017-01-03 21:02:06

标签: ruby

给出以下目录结构:

$  tree .
.
└── some
    ├── Rakefile
    └── path
        ├── bar.erb
        └── to
            └── baz.rb

3 directories, 3 files

我能够获取所有文件(包括目录),只能获取目录,只能获取文件:

p Dir.glob('some/**/*')
#=> ["some/Rakefile", "some/path", "some/path/bar.erb", "some/path/to", "some/path/to/baz.rb"]
p Dir.glob('some/**/*/')
#=> ["some/path/", "some/path/to/"]
p Dir.glob('some/**/*').select { |f| File.file? f }
#=> ["some/Rakefile", "some/path/bar.erb", "some/path/to/baz.rb"]

是否有更简洁的方法来获取文件而不是dirs(第三种情况)?

编辑:

只是为我的问题添加一个明确的答案:
不,没有更短的方式,请参阅此question

0 个答案:

没有答案