从父目录加载文件

时间:2013-05-30 10:22:22

标签: ruby require ruby-1.8

我正在使用Ruby 1.8,我有要调用的脚本,但它在父文件夹中。以下是结构:

maindir/
neededscript.rb
  subdir/
    subdir2/
      myscript.rb

我如何从neededscript.rb内部myscript.rb

3 个答案:

答案 0 :(得分:6)

在Ruby> = 1.9中,您可以使用require_relative方法

  

require_relative通过允许您加载与包含require_relative语句的文件相关的文件来补充内置方法require。

require_relative '../../neededscript.rb'

答案 1 :(得分:6)

在执行require

之前,您还可以通过将这些行添加到myscript.rb来添加ruby libs路径的路径。
binpath = File.dirname( __FILE__ )
$:.unshift File.expand_path( File.join( binpath, ".." ) )

答案 2 :(得分:5)

这就是我所做的:

File.expand_path("../../neededsript.rb",File.dirname(__FILE__))