Попытка получить доступ к «текущему каталогу» в упакованном приложении «Обувь» - PullRequest
1 голос
/ 12 декабря 2011

Мне нужно создать приложение, которое читает файл, который является внешним по отношению к пакету Shoes, в который я буду распространять его.

В моем приложении Dir.pwd указывает на временный каталог (по крайней мере, в Windows), где сценарий распаковывается для запуска. Я пытался получить каталог, из которого запускается exe, то есть пакет, который я распространяю.

Приложению необходимо прочитать файл, который распространяется помимо этого пакета, а затем записать еще один в тот же каталог.

Кажется, что среда выполнения Shoes не устанавливает никакой переменной env с этим каталогом. Есть указатели?

nachokb

Ответы [ 2 ]

0 голосов
/ 29 декабря 2012

Вы пробовали что-то вроде следующего:

DIR = File.expand_path __FILE__

__ FILE__ - это ссылка на текущий файл, а File.expand_path дает вам полный системный путь.Работает в моих приложениях обувь: -)

Обувь на!

Тоби

0 голосов
/ 31 марта 2012

Я столкнулся с этой проблемой некоторое время назад и не нашел прямого решения.В итоге я нашел два обходных пути:

  1. Во время установки приложения поместите файлы в каталог внутри каталога пользователя home dir ~ / (косвенное обращение к дому также работает в windows)
  2. Упакуйте файлы вместе с исполняемым файлом обуви, чтобы он был разархивирован в том же месте, что и приложение, и, следовательно, был доступен с помощью Dir.pwd

Если вы найдете другой способ, укажите его.

...