如何在Ruby中判断目录是否为空?有没有这样的东西:

Dir.exists?("directory")

(我知道这个函数不存在.)

推荐答案

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?

Update: the first method above used to use a regex; now it doesn't (obviously). Comments below mostly apply to the former (regex) version.

Ruby相关问答推荐

Ruby 中使用的-S标志是什么?

如何过滤散列数组以仅获取另一个数组中的键?

如何使用 Ruby 删除字符串中某个字符后的子字符串?

将块传递给方法传递给Ruby中的另一个方法

如何在不使用 Ruby 保存到磁盘的情况下生成 zip 文件?

如何在 Ruby 中初始化 Hash 中的数组

检测安装的 CPU 数量

rbenv 没有显示可用的 ruby​​ 版本

我如何 expect期望在 RSpec 中引发异常的东西?

GET 和 POST 请求的相同 Rails 4 路由

比较ruby中的两个字符串

Ruby中的每个块都可以有一行吗?

Ruby on rails - 静态方法

将 CSV 文件转换为哈希数组

Lisp 和 Erlang 原子、Ruby 和 Scheme 符号.它们有多大用处?

何时使用在 Ruby 中启动子进程的每种方法

使用哈希值呈现 ERB 模板

obj.nil?与 obj == nil

如何使用 Ruby-Rails 删除文件夹的所有内容?

Eclipse 的首选 Ruby 插件?