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.
Was ist der Unterschied zwischen 'Rails.root.join (" lib "," **/")' und 'Rails.root.join (" lib "," ** "/" * ")'? – binarymason
Letzteres stimmt mit Dateien überein. – ollpu