2012-01-15 37 views
2

运行d:\ruby\test.rb总是成功。如何运行其路径包含非ASCII符号的Ruby文件?

运行的是d:\программирование\test.rb失败,显然是因为它包含非ASCII,西里尔在这种情况下,符号此文件路径的副本:

No such file or directory - D:\... (Errno::ENOENT) 

我应该怎么做,使其工作?

我正在使用Ruby 1.9和Windows。

+0

没有一个':''D'之间''错误消息\当我把它转换成代码格式化 - 它是否在你的错误信息中丢失? (顺便说一下,我不能在Linux上使用Ruby来重现这一点,所以我同意Windows可能涉及到了。你可以运行'notepad d:\программирование\ test.rb'来编辑文件吗?) – sarnold 2012-01-15 00:34:02

+0

有一个:D和\。我错打了,对不起。 – Sergey 2012-01-15 10:30:12

回答

1

如果您喜欢创建路径:

"d:\программирование\test.rb" 

然后红宝石治疗“\ t”的角色,就好像是被转义:它转换\t成选项卡中的文件名传递到任何程序之前。该字符在文件名中是非法的。那么,也许不是非法的,但是一个真正的痛苦,而不是你所期望的。

相反,使用:

'd:\программирование\test.rb' 

或者,更好,让红宝石做提升和扭转你的反斜线当你定义的名称。红宝石应该做正确的事,并把它们转换上飞为您提供:

"d:/программирование/test.rb" 
+0

我试图运行Ruby文件通过右键单击他们,并通过运行,看起来像这样同一个目录蝙蝠文件:test.rb
暂停(而不是
- 换行) – Sergey 2012-01-15 10:33:37

+0

通过Windows资源管理器基于随时随地创建的路径文件存储... – sarnold 2012-01-16 00:13:33

+0

Windows资源管理器可能正在创建它,但这并不意味着“\ t”在编程语言中是有效的。 – 2012-01-16 04:44:57

相关问题