首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Quil中使用REPL在fun模式下检查状态?

在Quil中使用REPL在fun模式下检查状态?
EN

Stack Overflow用户
提问于 2016-07-03 23:33:24
回答 2查看 275关注 0票数 3

我正在用fun(ctional)-mode用Clojure/Quil写一个草图。

有时,我希望能够检查当前state包含的内容。

但是,当我尝试从REPL调用Quil的state时,我得到了以下结果:

代码语言:javascript
复制
(q/state) ==>
NullPointerException   clojure.core/deref-future (core.clj:2208)

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

代码语言:javascript
复制
(q/rect 0 0 10 10)

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

EN

回答 2

Stack Overflow用户

发布于 2016-07-12 19:11:50

我不确定你到底在说哪个函数,因为你没有发布代码,所以这有点盲目。

您可以尝试查看state-atom

代码语言:javascript
复制
(require '[quil.core :as q])

;; both should do the same

@(q/state-atom)
(q/state) ;; is that what you were doing ?

您似乎引用的状态函数可选地接受一个参数for instance,并在传递no parameter时返回状态原子:

代码语言:javascript
复制
(q/state :image)

在任何情况下,查看Clojure库的测试通常都是一个好主意,并且这种情况下的代码看起来文档化得很好。

票数 1
EN

Stack Overflow用户

发布于 2019-09-02 15:12:03

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

代码语言:javascript
复制
(quil.applet/with-applet hello-quil.core/hello-quil 
  (quil.core/random 10)) 

要访问state,您可以执行以下操作:

代码语言:javascript
复制
(require '[quil.core :as q])

(quil.applet/with-applet hello-quil.core/hello-quil 
  (q/state)) 

这篇文章直接取自Quil wiki:Dynamic Workflow (for REPL)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38171499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档