Ist es möglich, rekursiv alle Dateien in einem Verzeichnis in Ruby?
Ich arbeite gerade an einer API, die geladen werden müssen alle .rb-Dateien in das aktuelle Verzeichnis und alle Unterverzeichnisse. Derzeit bin ich in eine neue require-Anweisung für jede Datei, die ich hinzufügen, aber ich würde es gern machen, wo ich nur die Datei in eines der Unterverzeichnisse und haben es automatisch Hinzugefügt.
Gibt es ein standard-Befehl, dies zu tun?
InformationsquelleAutor der Frage juan2raid | 2009-12-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
In diesem Fall laden Sie alle Dateien in den lib-Verzeichnis:
InformationsquelleAutor der Antwort Miguel Fonseca
Diese wird rekursiv laden
.rb
Datei.InformationsquelleAutor der Antwort Geo
wie Miguel Fonseca sagte, aber in ruby >= 2, die Sie tun können :
InformationsquelleAutor der Antwort Arthur
Ich benutze die Edelstein - require_all die ganze Zeit, und es bekommt den job getan mit folgendem Muster benötigt:
InformationsquelleAutor der Antwort BGarretson
Sollte dies rekursiv
load
alle .rb-Dateien in dem angegebenen Verzeichnis, indemdir
. Zum BeispielrLoad Dir.pwd
arbeiten würde, auf das aktuelle Arbeitsverzeichnis.Vorsichtig sein, dies zu tun, obwohl. Dies hat eine Tiefe-zuerst-Suche, und wenn es irgendwelche widersprüchliche Definitionen in Ihre Ruby-Skripts, Sie kann aufgelöst werden in eine nicht offensichtliche Art und Weise (alphabetisch nach Ordner - /Datei-name glaube ich).
InformationsquelleAutor der Antwort bta
Sollten Sie einen Blick auf diese gem. Es ist Recht klein, so kann man eigentlich re-verwenden Sie den code, statt der Installation die ganze gem.
InformationsquelleAutor der Antwort Waseem