Как запустить файлы Ruby, путь которых содержит символы не ASCII? - PullRequest
2 голосов
/ 15 января 2012

Запуск d:\ruby\test.rb всегда успешен.

Запуск копии этого пути к файлу, который находится в d:\программирование\test.rb, завершается неудачно, очевидно, потому что он содержит не-ASCII, в данном случае кириллицу, символы:

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

Что мне делать, чтобызаставить его работать?

Я использую Ruby 1.9 и Windows.

1 Ответ

1 голос
/ 15 января 2012

Если вы создаете свой путь, например:

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

Тогда Ruby обрабатывает символ "\ t" как экранированный: он преобразует \t во вкладку перед передачей имени файла влюбая рутина.Этот символ недопустим в имени файла.Ну, может быть, не противозаконно, но реальная боль, с которой приходится иметь дело, а не то, что вы ожидаете.

Вместо этого используйте:

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

Или, еще лучше, позвольте Руби делать подъем и реверсваши обратные косые черты при определении имени.Ruby должен делать правильные вещи и конвертировать их на лету для вас:

"d:/программирование/test.rb"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...