2017-12-01 11 views
1

Normalerweise, wenn ich kleine Code-Schnipsel Testen bin für Ruby, habe ich viele Male Code Brocken in separaten Dateien im selben Verzeichnis, führen Sie irb und dann den folgenden Befehl ausführen:Wie benötigt IRB Arbeit?

Dir[Dir.pwd + "/*.rb"].each { |file| require file } 

Welche alle Dateien lädt in irb. Was bringt mich zu meiner Frage: Wenn ich eine Datei benötige, wie bearbeitet sie diese Anfrage? Nimmt es alle Anforderungen und steckt sie in eine "Datei"? Ich suche nach der Mechanik, wie irb funktioniert.

Wenn jemand die Antwort hat oder mir in die richtige Richtung zeigen kann, würde ich es begrüßen.

Prost

+1

Vielleicht werfen Sie einen Blick auf https://github.com/ericmathison/articles/blob/master/understoning-require-in-ruby.md –

+0

Vielen Dank. Dieser Artikel war wirklich hilfreich und was ich gesucht habe. – Darkisa

Antwort

1

Die kurze Antwort lautet:

require lädt eine Datei in das Ruby-Interpreter. Der Quellcode wird analysiert, seine Nebenprodukte werden in die Laufzeitumgebung von Ruby integriert (geladene Klassen usw.), und dann wird der Quellcode nirgendwo gespeichert und wird schließlich zu Garbage Collected (der von ihm belegte Speicher wird freigegeben).