ruby方式-相对路径
我正在ruby脚本中使用ruby方式-相对路径,ruby,file,relative-path,Ruby,File,Relative Path,我正在ruby脚本中使用File.read('File.txt')。但我不知道创建正确的相对路径的最佳方法是什么,我能做什么 File.read(File.dirname(__FILE__) + '/file.txt) 但是我想知道ruby中是否有更漂亮的方法?有很多方法,但这一种是最灵活的: File.read(File.expand_path('file.txt', File.dirname(__FILE__)) 您可能还希望使用Dir.pwd相对于shell中的当前工作目录 请注意,对
File.read('File.txt')
。但我不知道创建正确的相对路径的最佳方法是什么,我能做什么
File.read(File.dirname(__FILE__) + '/file.txt)
但是我想知道ruby中是否有更漂亮的方法?有很多方法,但这一种是最灵活的:
File.read(File.expand_path('file.txt', File.dirname(__FILE__))
您可能还希望使用Dir.pwd
相对于shell中的当前工作目录
请注意,对路径使用字符串连接可能会起作用,但使用
expand\u path
或join
更可靠,并能正确处理平台差异,例如在Windows上,部件本机使用反斜杠连接。有多种方法,但这是最灵活的:
File.read(File.expand_path('file.txt', File.dirname(__FILE__))
您可能还希望使用Dir.pwd
相对于shell中的当前工作目录
请注意,对路径使用字符串连接可能会起作用,但使用
expand\u path
或join
更可靠,并且可以正确处理平台差异,例如在Windows上,部件本机使用反斜杠连接。您的代码看起来不错。唯一可能的问题是正斜杠的假设,如下所述。例如,如果这是一个rails项目,那么您也可以使用rails.root
来定义项目中的路径。这就是gem存在的原因。这可能是重复的,但它不是链接问题的重复,因为这根本不涉及相对路径。您的代码看起来不错。唯一可能的问题是正斜杠的假设,如下所述。例如,如果这是一个rails项目,那么您也可以使用rails.root
来定义项目内的路径。这就是gem存在的原因。这可能是重复的,但它不是链接问题的重复,因为这根本不涉及相对路径。