我有一个相当标准的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
似乎不起作用。
答案 0 :(得分:5)
在要更改的函数中尝试 CMx (这会破坏当前的顶级表单)或在源缓冲区中 Cc Ck (这会使当前缓冲区失效) 。顺便说一句, C-x C-e 也应该工作(它肯定对我有用,但我很少使用它)。也许你没有使用nrepl.el的最新版本?
答案 1 :(得分:1)
我刚刚设置了一个示例项目来处理我在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
通过这种方式,我可以重新评估draw.clj文件C-c C-k
,而无需重新评估顶级核心命名空间(这可能会导致问题,例如您描述的那个问题所在的位置看到一个新窗口。)