如何检查Ruby中的目录是否为空?有没有类似这样的东西:
Dir.exists?("directory")(我知道该函数并不存在。)
发布于 2011-02-21 02:50:31
Ruby现在有了Dir.empty?,这使得这件事变得非常简单:
Dir.empty?('your_directory') # => (true|false)在Rubies 2.4.0之前的版本中,您可以只获取条目列表,并亲自查看它是否为空(考虑到“.和"..")。参见the docs。
(Dir.entries('your_directory') - %w{ . .. }).empty?
# or using glob, which doesn't match hidden files (like . and ..)
Dir['your_directory/*'].empty?更新:上面的第一个方法过去使用正则表达式;现在它不再使用正则表达式(显然)。下面的注释主要适用于前一个(regex)版本。
发布于 2016-12-27 19:48:00
从Ruby2.4.0开始,就有了Dir.empty?
Dir.empty?('/') # => false发布于 2011-02-21 02:56:09
您可以使用条目查看目录中的所有文件和文件夹:
Dir.entries('directory')
=> ['.', '..', 'file.rb', '.git']
Dir.entries('directory').size <= 2 # Check if empty with no files or folders.您还可以仅使用glob搜索文件:
Dir.glob('directory/{*,.*}')
=> ['file.rb', '.git']
Dir.glob('directory/{*,.*}').empty? # Check if empty with no files.https://stackoverflow.com/questions/5059156
复制相似问题