为什么`Dir [directory_path] .empty?`一直返回`false`?

时间:2013-08-12 19:16:53

标签: ruby directory

Dir[directory_path].empty?始终返回false。无论我是否以root身份运行irb,行为都是相同的:

$ ll
total 12
drwxrwxrwx 2 ndefontenay ndefontenay 4096 Aug 12 12:11 ./
drwxrwxrwx 4 ndefontenay ndefontenay 4096 Aug  5 11:45 ../
-rw-rw-r-- 1 ndefontenay ndefontenay    8 Aug 12 12:11 test

$ irb
> Dir["/opt/purge_entitlement/in"].empty?
 => false 
> exit

$ sudo irb
> Dir["/opt/purge_entitlement/in"].empty?
=> false

如果有人可以解决这个问题,那将非常有用。

2 个答案:

答案 0 :(得分:3)

  

风向[]。空?始终返回false

它应该,因为它总是包含父目录(..),而目录本身(.),你没有处理。

答案 1 :(得分:2)

这不是您问题的答案,但为了避免在列表中获取...的问题,请使用Dir.glob代替Dir.[]。你可能会得到true

Dir.glob("/opt/purge_entitlement/in/*").empty?
相关问题