2016-09-08 1 views

Antwort

1

Der folgende Schrägstrich zeigt Dir[] an, dass Verzeichnisse rekursiv aufgelistet werden sollen.

Lassen Sie uns einen tieferen Blick haben.

Rails.root.join("lib", "**") 

Gibt einen Pfad zu #{Rails.root}/lib/**, während

Rails.root.join("lib", "**/") 

einen Pfad zu #{Rails.root}/lib/**/ zurückgibt.

Diese wird dann an Dir[] weitergeleitet. **, in der documentation, sagt, dass es Verzeichnisse rekursiv übereinstimmt. Aber ohne den abschließenden Schrägstrich scheint es das gleiche Verhalten wie bei * zu haben. Wenn Sie etwas tun wie **/*.rb, listet es rekursiv, alle Dateien mit der Endung .rb. Was Sie also wirklich mit dem abschließenden Schrägstrich angeben, ist, dass Sie nach Verzeichnissen suchen, da diese immer in / enden.

+0

Was ist der Unterschied zwischen 'Rails.root.join (" lib "," **/")' und 'Rails.root.join (" lib "," ** "/" * ")'? – binarymason

+1

Letzteres stimmt mit Dateien überein. – ollpu

Verwandte Themen