如何使用Emacs/nrepl/Quil在Clojure中活出代码?
我有一个相当标准的Quil文件,我正在用Emacs和nrepl编辑它如何使用Emacs/nrepl/Quil在Clojure中活出代码?,clojure,quil,nrepl,Clojure,Quil,Nrepl,我有一个相当标准的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) 首先,我
(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-l
加载文件;这将创建一个草图窗口。然后,我编辑我的draw world
函数,例如,以不同的颜色绘制。我的问题是:
如何使用此新函数更新当前Quil窗口
*
C-x C-e
似乎不起作用。在要更改的函数中尝试C-M-x(此评估当前顶级表单),或在源缓冲区中尝试C-C-k(此评估当前缓冲区)。顺便说一句,C-XC-e应该也能工作(它当然对我有用,但我很少使用它)。也许您没有使用nrepl.el的最新版本?我刚刚设置了一个示例项目来处理我在Quil中实时编码的工作流程。我从几个地方复制了一些基础知识,比如Quil wiki和论坛
如果查看项目的basic 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]))
发件人:
通过这种方式,我可以重新计算draw.clj文件的
C-C-k
。(我使用的是最新的Github nrepl.el。)我猜您的配置有误,因为它们对我来说都很好。这是正确的答案,我的代码中的一个错误似乎阻止了正常工作。谢谢很高兴听到这个消息。它使实时编码对我来说简单多了。