同じディレクトリに「main.rb」と「sub.rb」という 2 つの Ruby スクリプトがあります。
main.rb
require "./sub.rb"
someMethod
sub.rb
def someMethod
puts __FILE__
end
main.rb スクリプトを実行すると、出力に「sub.rb」ファイルへのパスが表示されます (例: .../ruby-examples/get-script-directory/sub.rb)。puts __FILE__
代わりに「main.rb」へのパスを返す行の代わりに使用できるものを探しています。
これは簡単な例です。ここでの本当の目標は、Ruby モジュール スクリプトを任意の場所に配置し、(File.dirname() などを介して) メインの実行スクリプトがあるディレクトリを参照できるようにすることです。たとえば、メイン スクリプトのディレクトリに出力またはログ ファイルを書き込むことができます。 .
含まれているモジュール スクリプトから実行中の ruby スクリプトへのパスを特定する方法はありますか?