【问题标题】:Load File from parent directory从父目录加载文件
【发布时间】:2013-05-25 21:06:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby require ruby-1.8


    【解决方案1】:

    这就是我所做的:

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

    【讨论】:

      【解决方案2】:

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

      binpath = File.dirname( __FILE__ )
      $:.unshift File.expand_path( File.join( binpath, ".." ) )
      

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 对不起,迟到的评论,但正如我所提到的,我使用的是 ruby​​ 1.8.*。
        • 啊,不用担心。仅出于上下文考虑,我会指出,当我回答时,该版本不在问题中:),但在之后进行了编辑。对于版本 ~ 1.8,其他 2 个答案中的任何一个都很好。
        猜你喜欢
        • 1970-01-01
        • 2014-08-23
        • 1970-01-01
        • 2017-12-11
        • 1970-01-01
        • 1970-01-01
        • 2014-04-29
        • 2015-10-20
        • 1970-01-01
        相关资源
        最近更新 更多