Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby中的文件路径_Ruby_File - Fatal编程技术网

Ruby中的文件路径

Ruby中的文件路径,ruby,file,Ruby,File,所以我想在Ruby中创建一个相对于它所在目录的文件路径 我有一个项目,我希望它能够找到文件,无论项目解压缩到哪个目录。(比如说,代码在不同的机器上运行)我一辈子都搞不懂 似乎我需要这样做: require File.dirname(__FILE__) + '/comparison' 对于位于不同于src文件夹的目录中的文件,我可以做什么 而不是上市 file = 'C:/whole path/long/very_long/file.txt' 我想说: file = 'file.txt' 或

所以我想在Ruby中创建一个相对于它所在目录的文件路径

我有一个项目,我希望它能够找到文件,无论项目解压缩到哪个目录。(比如说,代码在不同的机器上运行)我一辈子都搞不懂

似乎我需要这样做:

require File.dirname(__FILE__) + '/comparison'
对于位于不同于src文件夹的目录中的文件,我可以做什么

而不是上市

file = 'C:/whole path/long/very_long/file.txt'
我想说:

file = 'file.txt'


用到达
'file.txt'

的相对路径段替换
'..,“另一个目录”
,如果您运行的是Ruby 1.9.2或更高版本,则可以使用
require\u relative

require_relative '../somewhere/file.rb'

这并不能解决按文件的相对路径引用文件的一般问题,但如果您所做的只是需要该文件,那么它应该可以工作。

这对file=..很有效,但在我需要文件时它不会解析。(…..)require file.join(file.dirname(\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu文件名),',“,”resources“,”date\u extension.rb')给我这个错误:没有这样的文件要加载--C:/Users/Alex和Paula/Documents/Software Projects/RubyCyrusSorterApp/specs/。/resources/date_扩展名。rb@Alex巴罗诺斯基,date_extension.rb是否位于
C:/Users/Alex和Paula/Documents/Software Projects/rubycyrussortrapp/resources
中?请尝试在
require
之前但在
file=file之后的一行中检查文件的存在性。使用这一行连接…
:除非file.exist?(file)
file = File.join(File.dirname(__FILE__), '..', 'another_dir', 'file.txt')
require_relative '../somewhere/file.rb'