Tag: 相对路径

在Ruby中,如何将另一个目录中的文件指定为输入?

这可能有一个简单的答案,但我正在研究一个需要一个不同文件夹的输入文件的测试套件。 我想使用相对路径,如下所示: @graph = Graph.new(‘../lib/test_input.txt’) 但Ruby并不喜欢这样。 使用这样的相对文件路径的最佳方法是什么? 谢谢

为什么相对路径在Ruby中不起作用

我开始学习Ruby,有一点我不明白,为什么require指令的相对路径在ruby中不起作用。 它几乎适用于我现在的每种脚本语言(JSP,PHP ……)。 我用一个真实的例子来解释。 我有一个名为shapes的文件夹,其中包含3个类形状 , 矩形和方形 。 我还有另一个文件test_shapes.rb,我调用并测试我的类。 当我将类导入到主文件时,如下所示: require “./shape” require “./rectangle” require “./square” 我找不到找不到的文件的错误。 当我包含我的子文件夹的名称时,如下所示: require “./shapes/shape” require “./shapes/rectangle” require “./shapes/square” 代码完美无缺。 因为我指定了项目根目录的整个路径(我认为是lib文件夹)。 当我包括我包括硬盘的绝对路径,如下所示: require “#{File.dirname(__FILE__)}/shape” require “#{File.dirname(__FILE__)}/rectangle” require “#{File.dirname(__FILE__)}/square” 它也很完美。 所以,我只是想要一些解释,如果知道为什么第一个导入方法(当前文件夹的相对路径)不起作用。