9

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

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

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

4

3 回答 3

7

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

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

require_relative '../../neededscript.rb'
于 2013-05-30T10:24:14.577 回答
6

您还可以通过在执行 require 之前将这些行添加到 myscript.rb 来将路径添加到 ruby​​ libs 路径

binpath = File.dirname( __FILE__ )
$:.unshift File.expand_path( File.join( binpath, ".." ) )
于 2013-05-30T10:27:54.433 回答
5

这就是我所做的:

File.expand_path("../../neededsript.rb",File.dirname(__FILE__))
于 2013-05-30T11:31:31.203 回答