這裏有兩種方法可以使用glob
遞歸列出目錄:「**/* /」和「** /」之間的區別?
Dir.glob("**/*/")
Dir.glob("**/")
輸出似乎是一樣的,至少在一個小的子樹。我錯過了這兩個命令之間有什麼區別?
這裏有兩種方法可以使用glob
遞歸列出目錄:「**/* /」和「** /」之間的區別?
Dir.glob("**/*/")
Dir.glob("**/")
輸出似乎是一樣的,至少在一個小的子樹。我錯過了這兩個命令之間有什麼區別?
**匹配0個或多個目錄。通過將A *在最後你刪除目錄的根,從根本上讓這1個或多個:
a = Dir.glob('/tmp/**/*/').sort
b = Dir.glob('/tmp/**/').sort.size
b.size => 19
a.size => 18
b - a => ["/tmp/"]
如果沒有一個主要常數路徑,雖然,它看起來不像是有區別的0長度匹配AREN很有意思,不要把結果放進去。
在這種情況下,沒有。
但是,在某些情況下,這種區分可能很重要。如果模式代替**/*
和**/*/*
以遞歸方式匹配文件而不是目錄,則第一個將包括當前目錄中的文件,而後者僅列出自中間的/*/
以來至少從當前目錄向下一級的文件必須匹配一些東西。