Упаковка: Ruby и обувь для записи и чтения текстовых файлов - PullRequest
0 голосов
/ 13 августа 2011

Я новичок в ruby ​​... и в ботинках ... и в программировании, но вот моя проблема:

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

Я попытался упаковать его: если я упакую rb-файл, он не будет работать, он будет работать, только если я упакую всю папку, включая txt-файлы.

Эта рабочая копия, кажется, работает без файлов txt (они как-то встроены. Есть ли способ упаковать это, так что у меня все еще есть доступ к связанным файлам txt. (Возможно, что-то связано с путями...)

спасибо.

1 Ответ

0 голосов
/ 27 апреля 2012

Поведение упаковщика обуви иногда уродливо.Я думаю, что вы используете Windows, поэтому я попытаюсь объяснить, что, по-видимому, происходит:

У вас есть прилагаемое Shoes-App (автономный файл .exe).Каждый раз, когда вы запускаете его двойным щелчком, он извлекает себя в новый временный каталог (находится в каталоге c: \ tmp \ tempFileDirectory).Итак, это НОВЫЙ временный каталог, всегда!

Текущий путь также установлен для этого каталога tmp, который также включает файлы txt, которые вы связали в приложение, в его исходном состоянии.Если вы измените содержимое файлов во время выполнения приложения и перезапустите приложение, ваши изменения пропадут, потому что в только что созданном каталоге tmp есть свежая копия оригинальных файлов txt.пока что ПЛОХАЯ идея поместить ваши файлы данных (txt в вашем случае, или SQLITE-database-files, или файлы конфигурации, ...) в приложение bundles.

Лучший способ: создать«скрытая» папка (имя папки должно начинаться с «.») в домашней папке пользователя.На окнах это должно быть что-то вроде "c: \ Users \ YourName".Создайте там все, что вам нужно, этот каталог не будет временным, поэтому вы можете обращаться к нему каждый раз без проблем.Как правило, это должно быть лучшим решением при программировании рабочего стола, а не только при использовании обуви.

...