Автоматически записывать сессию Repl Replion?
Как бы вы автоматически "записали" сессию Repl Repl? Под "записью" я, вероятно, имею в виду автоматическое сохранение того, что есть в буфере repl, аналогично автоматическому сохранению любого буфера кода. Я уверен, что "состояние" будет гораздо более сложной проблемой, но, по крайней мере, сохранить содержимое буфера было бы началом. Конечно, я мог бы просто сохранить Cxs и назвать его как repl20131115-111034.srepl, но было бы неплохо иметь возможность автоматического сохранения за кадром (включая метку времени в имени файла).
1 ответ
Психотерапия
Я задавал этот вопрос о Лиспе 20 лет назад, около года назад, и сейчас я не спрашиваю о питоне. Итак, позвольте мне попытаться ответить на него.
Что ты просил
Временные журналы
Вы конечно не хотите автомат repl-timestamp.log
файлы - они заполнят ваш диск, и вы никогда не будете на них смотреть.
Автосохранение
Да, вы можете сохранить буфер взаимодействия lisp в файл (и тогда он будет периодически автоматически сохраняться), но вы этого тоже не хотите.
Вам гораздо лучше набрать свой код в буфере, связанном с файлом lisp, и отправить его в буфер взаимодействия lisp, и только скопировать "интересный" вывод lisp обратно в буфер файлов. Например, вы не хотите сохранять все 42 плохие версии функции, только рабочую (и, возможно, несколько промежуточных версий - но для этого у вас есть git и hg).
Что вам действительно нужно
Что вы действительно хотите, это две вещи:
- Помни, что ты сделал
- Восстановите состояние, в котором вы остановились
Вот как это сделать:
Помни, что ты сделал
Ты можешь использовать dribble
сохранить в файл то, что вы печатаете и что отвечает на Лисп. Это полезно, однако, я думаю, что я исследовал только очень немногие из миллионов файлов дриблинга, которые я создал в мои дни новичка. Они там в основном для вашего спокойствия.
Восстановить состояние
Для этого и нужны образы lisp: они записывают на диск "состояние вселенной lisp", чтобы вы могли начать с того места, где остановились.