Ruby中的文件路径
所以我想在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' 或
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'