2012-01-15 24 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

相關問題