检查 Ruby 中的目录是否为空
在 Ruby 中如何检查目录是否为空?有没有类似的东西:(
Dir.exists?("directory")
我知道这个功能不存在。)
How can I check to see if a directory is empty or not in Ruby? Is there something like:
Dir.exists?("directory")
(I know that that function doesn't exist.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Ruby 现在有
Dir.empty?
< /a>,使这变得非常简单:在 2.4.0 之前的 Rubies 中,您只需获取条目列表并亲自查看它是否为空(占“.”和“..”)。请参阅文档。
更新:上面的第一个方法使用了正则表达式;现在它不(显然)。下面的评论主要适用于以前的(正则表达式)版本。
Ruby now has
Dir.empty?
, making this trivially easy:In Rubies prior to 2.4.0 you can just get a list of the entries and see for yourself whether or not it's empty (accounting for "." and ".."). See the docs.
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 2.4.0 开始,有 Dir.空?
As of Ruby 2.4.0, there is Dir.empty?
您可以使用条目查看目录中的所有文件和文件夹:
您还可以仅使用 glob 搜索文件:
You can use entries to see all files and folders in a directory:
You can also search for files only using glob:
空目录应该只有两个链接(. 和 ..)。在 OSX 上,这可以工作:
...但在 Linux 或 Cygwin 上不起作用。 (感谢@DamianNowak)改编潘的答案:
应该有效。
An empty directory should only have two links (. and ..). On OSX this works:
...but does not work on Linux or Cygwin. (Thanks @DamianNowak) Adapting Pan's answer:
should work.
并不简单,但在 *nix 类型的系统中工作得很好。
Not straightforward but works perfect in *nix kind of systems.
这是我的模板。仅供参考,我正在源中寻找特定匹配的文件。
如果有的话请告诉我:)
Here is my template for this one.FYI , i am looking for a certain match of files inside the source.
let me know if anything :)