2016-04-25 2 views
-1

Я смотрел this exciting video. Выглядит очень перспективным инструментом для редактирования программы во время выполнения, но когда я попытался отредактировать, например, this program после запуска ничего не изменил. Как достичь такой функциональности. Это там любая библиотека нужна.Как я могу сделать программу Clojure hotswap при редактировании

ответ

2

Да, для определенных сред есть готовые к использованию плагины и библиотеки, которые делают перезагрузку для вас. Например, figwheel для Интернета и test-refresh для тестов/простых скриптов и других.

Если у вас есть специальная среда, в которой готовое к использованию решение не подходит, вы можете создать что-то на своем собственном. Например, при запуске (use my-namespace :reload-all) периодически/при изменении файла.

абстрактного пример реализации перегрузочной "бедная Мана:

(defn game-loop [] 
    (while true 
     ; If a file changes, we want to reload that code 
     (when (any-file-changed?) 
       (use 'my-game.main :reload-all) 
     ) 
     (my-game.main/tick) ; Call the game tick every frame 
    ) 
) 
Смежные вопросы