如何使用Emacs/nrepl/Quil在Clojure中实现代码



我有一个相当标准的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函数,比如说,用不同的颜色绘制。我的问题是:

如何使用此新功能更新当前被子窗口?

*C-x C-e似乎不起作用。

在要更改的函数中尝试C-M-x(这将评估当前顶级形式),或在源缓冲区中尝试C-C-k(这评估当前缓冲区)。顺便说一句,C-x-C-e也应该工作(它当然对我有用,但我很少使用它)。也许你没有使用nrepl.el的最新版本?

我刚刚设置了一个示例项目来处理Quil中实时编码的工作流程。我从几个地方复制了一些基础知识,比如Quil维基和论坛。

如果你查看项目的基本core.clj文件,你会发现它需要单独的"draw"one_answers"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,而无需重新评估顶级核心命名空间(这可能会导致问题,例如您描述的看到新窗口的位置)。

相关内容

  • 没有找到相关文章

最新更新