Проверить состояние в веселом режиме в Quil, используя REPL?
Я пишу набросок в Clojure/Quil в веселой (условной) моде.
Иногда я хочу, чтобы иметь возможность проверить, что в настоящее время state
держит.
Тем не менее, когда я пытаюсь позвонить Quil's state
из REPL я получаю следующее:
(q/state) ==>
NullPointerException clojure.core/deref-future (core.clj:2208)
Не уверен, что это актуально, но то же самое происходит с функциями рисования из REPL:
(q/rect 0 0 10 10)
Как я могу получить текущее состояние, чтобы проверить его в REPL?
1 ответ
Чтобы вызывать функции Clojure/Quil непосредственно в REPL, они должны быть обернуты текущим скетчем:
(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: Dynamic Workflow (для REPL)
Не уверен, о какой именно функции вы говорите, так как вы не публикуете код, так что это слепой выстрел.
Вы можете попытаться увидеть 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, и код в этом случае выглядит очень хорошо документированным.