| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LISP > [Common Lisp] Две проблемы |
| Автор: Dude03 24.5.2007, 17:24 |
| Подумал тут написать на lisp некоторые алгоритмы обработки графов. Вот, решил граф загружать из файла и представлять его в файле в виде lisp-списка(ну конечно парсер не так уж сложно написать, но это другой разговор). Пишу на Common Lisp. 1) Список состоит из s-выражений. Как мне загрузить из файла и сохранить в файл list в памяти? Можно ли после этого нормально(вручную редактировать этот файл), т.е. будет ли там в файле именно лисповский код списка или там будет сериализованный список в "бинарном" виде? 2) Если элементами списка являются не только s-выражения, но и структуры? |
| Автор: adejneka 24.5.2007, 20:38 |
| 1) Используйте WRITE с ключами :READABLY и, возможно, :CIRCLE для записи и READ для чтения текстового представления списков. См. http://www.lispworks.com/documentation/HyperSpec/Body/f_wr_pr.htm, http://www.lispworks.com/documentation/HyperSpec/Body/f_rd_rd.htm 2) С некоторыми ограничениями, да. В крайнем случае можно задать свой метод для обобщённой функции PRINT-OBJECT (например, с использованием макроса чтения ``#.''). См. http://www.lispworks.com/documentation/HyperSpec/Body/22_acl.htm, http://www.lispworks.com/documentation/HyperSpec/Body/f_pr_obj.htm |