2

Dir[directory_path].empty?いつも戻ってきますfalseirbルートとして実行するかどうかに関係なく、動作は同じです。

$ 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

誰かがこの問題に光を当てることができれば、それはかなり役に立ちます。

4

2 に答える 2

3

Dir[].空?常に false を返します

親ディレクトリと、気にかけなかっ(..)たディレクトリ自体が常に含まれているためです。(.)

于 2013-08-12T19:18:27.063 に答える
2

これはあなたの質問への回答ではありませんが、リストに.とが表示される問題を回避するには、 の代わりに を使用してください。あなたはおそらくこれを得るでしょう:..Dir.globDir.[]true

Dir.glob("/opt/purge_entitlement/in/*").empty?
于 2013-08-12T19:26:17.983 に答える