2017-12-01 5 views
1

は一般的に、私の多くの時間は、同じディレクトリ内の個別のファイルにコードの塊を入れIRB実行し、次のコマンドを実行します。irbはどのように動作する必要がありますか?私はRuby用のコードの小さなスニペットをテストしていたときに

すべてのファイルをロードし
Dir[Dir.pwd + "/*.rb"].each { |file| require file } 

irbへ私は私の質問に私をもたらします:ファイルが必要なとき、irbはその要求をどのように処理しますか?それはすべての必要を取り、それを全体的な「ファイル」に入れますか?私はirbの仕組みの仕組みを探しています。

誰かが答えを持っているか、正しい方向に向けることができれば、私はそれを感謝します。

乾杯

+1

おそらくhttps://github.com/ericmathison/articles/blob/master/understaning-require-in-ruby.mdをご覧ください。 –

+0

ありがとうございます。その記事は本当に役に立ち、私が探していたものです。 – Darkisa

答えて

1

短い答えは:

requireは、Rubyインタプリタにファイルをロードします。ソースコードは分析され、その副産物はRubyランタイムに組み込まれ(クラスのロードなど)、ソースコードはどこにも保存されず、最終的にガベージコレクションされます(占有されたメモリは解放されます)。

関連する問題