Ich habe einen Ruby-Code mit verschiedenen Klassen in ein paar Dateien. In einer Datei starte ich die Ausführung. Diese Datei require
s meine anderen Dateien.Ruby erfordern Pfad
- Ist dies ein guter Weg, um einen Ruby-Code zu starten?
- Wenn ich den Code von einem symbolischen Link ausführen, zum Beispiel
DIR2/MyRubyCode
ist ein Link zu der HauptdateiDIR1/MyRubyCode.rb
, dann werden meine Anforderungen fehlschlagen. Ich löste das Problem, indem ich den WegDIR1
zu$LOAD_PATH
vor demrequire
hinzufügte, aber ich denke, dass es viel bessere Weisen geben würde, es zu tun. Hast du irgendwelche Vorschläge dazu?
Danke, aber wenn ich mit File.dirname (__ FILE__), wenn ich den Code mit einem Alias starten will, versucht es auch von "." und ich habe immer noch den Fehler 'keine solche Datei zu laden'. –
Das ist richtig. Sie müssten das Ziel des Symlinks erhalten (was anstelle von 'File.dirname()') würde. Sehen Sie sich diesen Beitrag für ein paar verschiedene Möglichkeiten an: http://stackoverflow.com/questions/1237939/ruby-how-do-i-get-the-target-of-a-symlink –
Vielen Dank. Es funktioniert gut mit '$ LOAD_PATH << File.dirname (Pfadname.neu (File.expand_path (__ FILE __)). Realpath.to_s) .to_s'. –