使用REPL在Quil中以fun-mode检查状态



我正在用Clojure/Quil以fun(function)模式写一个草图。

有时,我希望能够检查当前state的容量

然而,当我尝试从REPL调用奎尔的state时,我得到以下结果:

(q/state) ==>
NullPointerException   clojure.core/deref-future (core.clj:2208)

不确定这是否相关,但从REPL中绘制函数也会发生同样的情况:

(q/rect 0 0 10 10)

如何在REPL中获得当前状态来检查它?

不确定你到底在谈论哪个函数,因为你没有post代码,所以这是一个盲射。

你可以试着看看state-atom:

(require '[quil.core :as q])
;; both should do the same
@(q/state-atom)
(q/state) ;; is that what you were doing ?

你似乎引用的状态函数可选地接受一个参数,例如,当没有传递参数时返回状态原子:

(q/state :image)

在任何情况下,查看Clojure库的测试通常是一个好主意,在这种情况下,代码似乎有很好的文档。

为了在REPL中直接调用Clojure/Quil函数,它们需要用当前的草图包装:

(quil.applet/with-applet hello-quil.core/hello-quil 
  (quil.core/random 10)) 

要访问state,您可以这样做:

(require '[quil.core :as q])
(quil.applet/with-applet hello-quil.core/hello-quil 
  (q/state)) 

这是直接从Quil wiki:动态工作流(用于REPL)

相关内容

  • 没有找到相关文章

最新更新