我有ruby代码,它将创建输出文件,当前文件正在我的脚本运行的位置创建。 我必须将输出文件写入不同的位置,所以我指定显式路径到代码。但它无法创建文件。我的代码看起来像:
fname = "C:\repo\cookbooks\abc\recipes\add.rb"
somefile = File.open(fname,"w")
somefile.puts "end"
somefile.close
如果我指定
fname = "add.rb"
它正在工作,但我想在不同的位置创建它,就像我上面提到的C:\ drive中的代码。
答案 0 :(得分:1)
因为字符串中的\
是特殊字符,所以你应该使用\\
(双反斜杠)来获得单个反斜杠。但是有更好的方法,你根本不需要处理反斜杠:
fname = File.join("C:", "repo", "cookbooks", "abc", "recipes", "add.rb")