当我在命令行中或从命令行运行以下代码时,CodeRunner
出现以下错误;
Untitled.rb:25: Invalid char '\302' in expression
Untitled.rb:25: Invalid char '\255' in expression
第 25 行对应于FileUtils.mv
方法所在的行。
if the_file.include? "Screen Shot"
old_file = Shellwords.escape(homepath + "/Desktop/" + the_file)
new_file = Shellwords.escape(screen_shot_folder + "/" + the_file)
FileUtils.mv old_file, new_file
end
最初我认为我的输入(或者old_file
或new_file
)有问题,这就是我将它们包装进去的原因,Shellwords.escape
我还检查了old_file
和的内容new_file
是否正确。
如果我打电话puts old_file + " ++ " + new_file
,我会得到如下信息;
/Users/tobyosbourn/Desktop/Screen\ Shot\ 2013-02-04\ at\ 10.49.14\ \(2\).png ++ /Users/tobyosbourn/Desktop/Screenshots/Screen\ Shot\ 2013-02-04\ at\ 10.49.14\ \(2\).png
看起来很正确,但是如果我将它们作为字符串复制并粘贴到 FileUtils.mv 中,我会收到相同的错误消息。
我已经阅读了 FileUtils 的使用方式,但看不到我做错了什么,有人可以建议吗?
如果它有助于我的 Ruby 版本是1.8.7