如何检查Ruby中的目录是否为空?是否有类似的东西:
Dir.exists?("directory")
Run Code Online (Sandbox Code Playgroud)
(我知道那个功能不存在.)
cor*_*ard 49
Ruby现在拥有Dir.empty?,使这很简单:
Dir.empty?('your_directory') # => (true|false)
Run Code Online (Sandbox Code Playgroud)
在2.4.0之前的Rubies中,您可以获得一个条目列表,并亲自查看它是否为空(占"."和"..").查看文档.
(Dir.entries('your_directory') - %w{ . .. }).empty?
# or using glob, which doesn't match hidden files (like . and ..)
Dir['your_directory/*'].empty?
Run Code Online (Sandbox Code Playgroud)
更新:上面用于使用正则表达式的第一种方法; 现在它(显然)没有.以下评论主要适用于前(正则表达式)版本.
您可以使用条目查看目录中的所有文件和文件夹:
Dir.entries('directory')
=> ['.', '..', 'file.rb', '.git']
Dir.entries('directory').size <= 2 # Check if empty with no files or folders.
Run Code Online (Sandbox Code Playgroud)
您也可以仅使用glob搜索文件:
Dir.glob('directory/{*,.*}')
=> ['file.rb', '.git']
Dir.glob('directory/{*,.*}').empty? # Check if empty with no files.
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           18185 次  |  
        
|   最近记录:  |