我正在使用Ruby 1.8,我有我想調用的腳本,但它位於父文件夾中。下面是結構:從父目錄加載文件
maindir/
neededscript.rb
subdir/
subdir2/
myscript.rb
我怎麼能要求從裏面myscript.rb
neededscript.rb
?
我正在使用Ruby 1.8,我有我想調用的腳本,但它位於父文件夾中。下面是結構:從父目錄加載文件
maindir/
neededscript.rb
subdir/
subdir2/
myscript.rb
我怎麼能要求從裏面myscript.rb
neededscript.rb
?
這就是我,而不是做:
File.expand_path("../../neededsript.rb",File.dirname(__FILE__))
在Ruby> = 1.9可以通過允許您加載一個文件,它是相對於包含require_relative語句文件中使用require_relative
方法
require_relative補充了內置方法需要。
require_relative '../../neededscript.rb'
您還可以通過將這些線路的路徑添加到紅寶石庫路徑做之前myscript.rb的要求
binpath = File.dirname(__FILE__)
$:.unshift File.expand_path(File.join(binpath, ".."))
對不起,對於遲來的評論,但正如我所說的使用紅寶石1.8。*。 – zulq
啊不用擔心。就上下文而言,我會指出,當我回答時,版本不在問題中,但在之後進行了編輯。對於版本〜1.8,其他2個答案中的任何一個都是好的。 – fullybaked