好的,使用siriproxy,我的lib文件夹和插件的rb文件我创建了一个myconfig.yml文件,所以我可以通过写入该文件来更改某些设置。
我已经能够写入该文件,但前提是我从主目录中一直包含完整路径。
但是没有办法从我所在的同一目录中打开文件吗?我已经尝试了我能想到的每一个路径组合。
我必须缺少一个
答案 0 :(得分:1)
如果在ruby文件中使用以下内容,则应获取其所在的绝对路径
File.expand_path(__FILE__)
来自doc __FILE__
当前正在执行的文件的名称,包括相对于启动应用程序的目录的路径(或当前目录,如果已更改)
来自doc File.expand_path
将路径名转换为绝对路径名。
由于您可能需要该目录,因此应使用File.dirname(__FILE__)
,因此应使用
myconfig.yml
的路径
File.join(File.expand_path(File.dirname(__FILE__)), 'myconfig.yml')
在最近的Ruby(> = 2.0.0)中,您可以使用__dir__
(来自Archonic的评论):
返回调用此方法的文件的目录的规范化绝对路径。这意味着路径中的符号链接已解析。如果 FILE 为nil,则返回nil。返回值等于File.dirname(File.realpath( FILE ))。