所以我想在Ruby中创建一个相对于它所在目录的文件路径。
我有一个项目,我希望它能够找到该文件,无论项目解压缩到哪个目录。 (例如,代码在不同的机器上运行)我无法理解我的生活。
似乎要求我能做到这一点:
require File.dirname(__FILE__) + '/comparison'
对于与我的src文件夹不同的目录中的文件,我该怎么办?
而不是列出,
file = 'C:/whole path/long/very_long/file.txt'
我想说:
file = 'file.txt'
或
file = File.helpful_method + 'file.txt'
答案 0 :(得分:5)
file = File.join(File.dirname(__FILE__), '..', 'another_dir', 'file.txt')
将'..', 'another_dir'
替换为到达'file.txt'
的相对路径段。
答案 1 :(得分:0)
如果您运行的是Ruby 1.9.2或更高版本,则可以改为使用require_relative
:
require_relative '../somewhere/file.rb'
这并不能解决通过相对路径引用文件的一般问题,但如果你所做的只是需要文件,它应该可以工作。