Упаковка: Ruby и обувь для записи и чтения текстовых файлов
Я новичок в рубине... и обуви... и программировании, но вот моя проблема:
Я сделал таймер, который помещает временную сумму в текстовый файл в виде журнала. Он также хранит итоговую сумму за все время в отдельном текстовом файле. Это работает так, как я хочу...
Я попытался упаковать его: если я упакую rb-файл, он не будет работать, он будет работать, только если я упакую всю папку, включая txt-файлы.
Эта рабочая копия, кажется, работает без файлов TXT (они как-то встроены. Есть ли способ упаковать это, так что у меня все еще есть доступ к связанным файлам TXT. (Может быть, как-то связано с путями...)
Благодарю.
1 ответ
Поведение упаковщика обуви иногда бывает безобразным. Я думаю, что вы используете Windows, поэтому я попытаюсь объяснить, что, кажется, происходит:
У вас есть в комплекте Shoes-App (автономный файл.exe). Каждый раз, когда вы запускаете его двойным щелчком, он извлекает себя в новый временный каталог (находится в каталоге c:\tmp\tempFileDirectory). Итак, это НОВЫЙ временный каталог, всегда!
Текущий путь также установлен в этот каталог tmp, который также включает файлы txt, которые вы связали в приложение, в его исходном состоянии. Если вы измените содержимое файлов во время выполнения приложения и перезапустите приложение, ваши изменения пропадут, потому что в только что созданном каталоге tmp есть свежая копия оригинальных файлов txt. до сих пор это ПЛОХАЯ идея поместить ваши файлы данных (txt в вашем случае, или SQLITE-database-files, или файлы конфигурации, ...) в приложение bundles.
Лучший способ: создать "скрытую" папку (имя папки должно начинаться с ".") В домашней папке пользователя. На окнах это должно быть что-то вроде "c:\Users\YourName". Создайте там все, что вам нужно, этот каталог не будет временным, поэтому вы можете обращаться к нему каждый раз без проблем. Как правило, это должно быть лучшим решением при программировании рабочего стола, а не только при использовании обуви.