【发布时间】:2014-06-06 20:39:18
【问题描述】:
是否可以在 Ruby 中获取需要另一个文件的文件的位置?
我有一个项目,我在其中生成了一些进程,我希望能够在代码中确定哪个文件是所需文件的父文件。这在调试时很好。
例子:
#initial.rb:
require "./my_file.rb"
fork do
require "./my_file2.rb"
end
-
#my_file.rb:
puts "Required from file: #{?????}"
-
#my_file2.rb:
require "./my_file.rb"
我希望得到类似的东西:
#=> Required from file: /path/to/initial.rb
#=> Required from file: /path/to/my_file2.rb
【问题讨论】:
-
在您需要的文件中尝试
$0..。阅读this。我现在不能测试,但试试puts "Required from file: #{$0}" -
您应该使用
require_relative而不是require "./my_file.rb"。无论解决方案是什么,它都应该适用于require_relative。