私は別のファイルとtester.rb
が必要なファイルrequired.rb
を持っています。これらのファイルは別々に起動され、別々に実行されます。必要なファイルからのファイルの要求
required.rb
の範囲内で、必要なファイルのサブディレクトリにすべてのファイルが必要です。全体のものは、このようなものになります。
main.rb
lib/
required.rb
req_files/
req1.rb
req2.rb
req3.rb
tester/
tester.rb
を必要なファイルをインポートするためのコードは次のようになります、私が見てきた提案の戦略で
Dir[Dir.pwd + "/req_files/*.rb"].each do |file|
require file
end
それはDir.pwd
または__FILE__
を利用すること、文脈がに適用されますrequired.rb
の位置は、元のファイルが最初に要求されたファイルのコンテキストです。つまり、現在の設定でこれらのファイルを別々に要求することはできません。
実際のrequired.rb
に相対的なパスを指定する方法はありますか?
EDIT:
require_relativeする必要が変化するDir[Dir.pwd + "/req_files/*.rb"]
より具体的Dir.pwd
元のファイル(メインまたはテスター)に対して解決するという事実を変更しないので、それは、しかしではないので、それはのように表すことができません両方のエントリポイントで動作する必要があります。
また、require_relative
で既にmain.rb
とtester.rb
からrequired.rb
が必要です。
[Rubyでのrequire \ _relativeとrequireの違いは何ですか?](https://stackoverflow.com/questions/3672586/what-is-the-difference-between-require-relative-and-必要なルビー) –
@ブラッドウォーター:実際には_duplicate_ではありません。なぜなら、この質問には 'require_relative'は言及されていないからです。 –
悪化したターゲットをより良くした "重複"がありました。私はそれをどのようにhttps://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-itが使用されるように見ていた... –