Как мне жить код в Clojure, используя Emacs / nrepl / Quil?
У меня есть довольно стандартный файл Quil, который я редактирую с помощью Emacs и nrepl.
(defn setup []
(qc/smooth)
(qc/frame-rate 24)
(qc/background 200))
(defn draw []
(draw-world))
(qc/defsketch run
:title "Circles!"
:setup setup
:draw draw
:size [800 600]
:renderer :opengl)
Для начала я использую C-c C-l
загрузить файл; это создает окно эскиза. Затем я редактирую draw-world
функция, скажем, рисовать другим цветом. Мой вопрос:
Как мне обновить текущее окно Quil с помощью этой новой функции?
*C-x C-e
не похоже на работу.
2 ответа
Попробуйте CMx (это исключает текущую форму верхнего уровня) в функции, которую вы хотите изменить, или Cc Ck (это исключает текущий буфер) в исходном буфере. Кстати, Cx Ce должен работать тоже (это, конечно, работает для меня, но я редко использую его). Может быть, вы не используете последнюю версию nrepl.el?
Я просто настроил пример проекта для обработки моего рабочего процесса для live-кодирования в Quil. Я скопировал некоторые основы из нескольких мест, таких как Quil wiki и форумы.
Если вы посмотрите на основной файл core.clj проекта, то увидите, что для него требуются отдельные пространства имен "draw" и "setup":
(ns basic-metronome.core
(:use [basic-metronome.setup :only [HEIGHT WIDTH]])
(:require [basic-metronome.draw :as dynamic-draw]
[basic-metronome.setup :as dynamic-setup]
[quil.core :as qc]))
(defn run-sketch []
(qc/defsketch the-sketch
:title "Hello Metronome"
:setup dynamic-setup/setup
:draw dynamic-draw/draw
:size [WIDTH HEIGHT]))
От: https://github.com/mudphone/basic_quil_metronome/blob/master/src/basic_metronome/core.clj
Таким образом, я могу переоценить C-c C-k
файл draw.clj без необходимости переоценки основного пространства имен верхнего уровня (которое может вызвать проблемы, такие как описанное вами, где вы видите новое окно).