我有两个 ruby 脚本:“main.rb”和“sub.rb”在同一个目录中。
主文件
require "./sub.rb"
someMethod
子文件
def someMethod
puts __FILE__
end
当 main.rb 脚本运行时,输出显示“sub.rb”文件的路径(例如,.../ruby-examples/get-script-directory/sub.rb)。我正在寻找可以用来代替puts __FILE__
将路径返回到“main.rb”的行的东西。
这是一个简化的例子。这里的真正目标是能够将 ruby 模块脚本放在任何地方,并让它们引用主执行脚本所在的目录(通过 File.dirname() 之类的东西)。例如,在主脚本的目录中写入输出或日志文件.
有没有办法从包含的模块脚本中确定执行 ruby 脚本的路径?