Ruby Linux和Windows兼容的文件管理脚本

Ruby Linux和Windows兼容的文件管理脚本,ruby,linux,windows,file,Ruby,Linux,Windows,File,我已经编写了一个命令行应用程序,允许我在桌面上复制某些文件。到目前为止,自从我使用Ubuntu以来,一切都很好,但现在我添加了一台Windows7机器,它与我当前的实现不兼容 我当前的解决方案是复制脚本和硬代码路径 CANVAS_DIR = "#{HOME}/GitHub/canvas" 替换为: CANVAS_DIR = "C:\\Users\\wurde\\GitHub\\canvas" 我已经读到,我应该避免硬编码路径,而是使用连接。这是最好的办法吗?如果是这样的话,这看起来是如何实现

我已经编写了一个命令行应用程序,允许我在桌面上复制某些文件。到目前为止,自从我使用Ubuntu以来,一切都很好,但现在我添加了一台Windows7机器,它与我当前的实现不兼容

我当前的解决方案是复制脚本和硬代码路径

CANVAS_DIR = "#{HOME}/GitHub/canvas"
替换为:

CANVAS_DIR = "C:\\Users\\wurde\\GitHub\\canvas"

我已经读到,我应该避免硬编码路径,而是使用连接。这是最好的办法吗?如果是这样的话,这看起来是如何实现的?

查看Ruby中的文件API,我认为我有一个有效的
join
解决方案。重要的一点是通过环境变量包含主目录

CANVAS_DIR = File.join(ENV['HOME'], 'GitHub', 'canvas')